home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / rexx / prgmanager2_2.lha / ProgrammManager / ProgrammManager.rexx < prev   
OS/2 REXX Batch file  |  1998-12-26  |  73KB  |  2,412 lines

  1. /* *********************************************** */
  2. /* Programmmanager.rexx                            */
  3. /* Author: Reinhard Steinert                       */
  4. /*                                                 */
  5. /* $VER: Programmmanager.rexx v2.2 (21.12.98)      */
  6. /***************************************************/
  7.  
  8. OPTIONS RESULTS
  9. ADDRESS COMMAND
  10.  
  11. SIGNAL ON break_c
  12. SIGNAL ON failure
  13. SIGNAL ON halt
  14. SIGNAL ON ioerr
  15. SIGNAL ON syntax
  16. SIGNAL ON error
  17.  
  18. CR = '0a'x
  19.  
  20. PARSE SOURCE . . . Pfadkomplett .
  21.  
  22. IF ~SHOW('LIBRARIES','tritonrexx.library') THEN DO
  23. IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
  24. SAY 'Kann die <tritonrexx.library> nicht öffnen!'
  25. 'WAIT 4'
  26. EXIT
  27. END
  28. END
  29. IF ~SHOW('LIBRARIES','rexxsupport.library') THEN DO
  30. IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN DO
  31. SAY 'Kann die <rexxsupport.library> nicht öffnen!'
  32. 'WAIT 4'
  33. EXIT
  34. END
  35. END
  36. IF ~SHOW('LIBRARIES','rexxtricks.library') THEN DO
  37. IF ~ADDLIB('rexxtricks.library',0,-30,0) THEN DO
  38. SAY 'Kann die <rexxtricks.library> nicht öffnen!'
  39. 'WAIT 4'
  40. EXIT
  41. END
  42. END
  43.  
  44. Pfad = PATHPART(Pfadkomplett)
  45. Pfad = Pfad'/'
  46.  
  47. Bild = Pfad''ProgrammManager.iff
  48.  
  49. IF ~EXISTS(Pfad'Programmmanager.txt') THEN DO
  50. CALL OPEN(PrgKonfig,Pfad'Programmmanager.txt','W')
  51. CALL WRITECH(PrgKonfig,'')
  52. CALL CLOSE(PrgKonfig)
  53. END
  54.  
  55. TritonRam = UPPER(SHOWDIR('Ram:Env/','d'))
  56. TritonSys = UPPER(SHOWDIR('Sys:Prefs/Env-Archive/','d'))
  57. PositionRam = POS('TRITON',TritonRam)
  58. PositionSys = POS('TRITON',TritonSys)
  59. IF (PositionRam = '0') THEN MAKEDIR('Ram:ENV/Triton')
  60. IF (PositionSys = '0') THEN MAKEDIR('Sys:Prefs/Env-Archive/Triton')
  61.  
  62.  
  63. IF ~EXISTS(Pfad'PrgManager.config') THEN DO
  64. Con1 = '20';Con2 = '20';Con3 = '620';Con4 = '300';FensterTitel = 'ProgrammManager_Ausgabefenster'
  65. ProgrammTypName = 'Alle';Icon = '0'
  66. device = 'Ram:';Pubscreen = 'Workbench';HilfeStartNr = '0'
  67. Schrift.ta_name = 'topaz.font';Schrift.ta_ysize = '8';Schrift.ta_style = '0'
  68. TextEdPfad = 'Sys:C';TextEdName = 'ED %f WINDOW CON:////Editor/CLOSE/SCREEN%s'
  69. HexEdPfad = 'Sys:C';HexEdName = 'KeinHexED'
  70. FarbenFenster = 'TRWI_Backfill TRBF_SHINE_FILL';FarbeGruppe = 'TRAT_Backfill TRBF_FILL_BACKGROUND'
  71. CALL Konfigliste
  72. SchreibeKonfig1 = WRITEFILE(Pfad'PrgManager.config','Konfigliste')
  73. END
  74.  
  75. LeseKonfig = READFILE(Pfad'PrgManager.config','Konfigeintrage')
  76. LeseHilfe = READFILE(Pfad'PrgManager.OnlineHilfe','Satz')
  77.  
  78. Con1 = WORD(Konfigeintrage.1,1)
  79. Con2 = WORD(Konfigeintrage.1,2)
  80. Con3 = WORD(Konfigeintrage.1,3)
  81. Con4 = WORD(Konfigeintrage.1,4)
  82. ZCon1 = LENGTH(Con1)
  83. ZCon2 = LENGTH(Con2)
  84. ZCon3 = LENGTH(Con3)
  85. ZCon4 = LENGTH(Con4)
  86.  
  87. GesCon = ZCon1+ZCon2+ZCon3+ZCon4+5
  88.  
  89. FensterTitel = SUBSTR(Konfigeintrage.1,GesCon)
  90.  
  91. ProgrammTypName = WORD(Konfigeintrage.2,1)
  92. Icon = WORD(Konfigeintrage.2,2)
  93. device = WORD(Konfigeintrage.3,1)
  94. Pubscreen = WORD(Konfigeintrage.3,2)
  95. HilfeStartNr = WORD(Konfigeintrage.3,3)
  96. Schrift.ta_name = WORD(Konfigeintrage.4,1) 
  97. Schrift.ta_ysize = WORD(Konfigeintrage.4,2)
  98. Schrift.ta_style = WORD(Konfigeintrage.4,3)
  99. TextEdPfad = WORD(Konfigeintrage.5,1)
  100. TextEdPfadLang = LENGTH(TextEdPfad)
  101. TextEdName = SUBSTR(Konfigeintrage.5,TextEdPfadLang+2)
  102. HexEdPfad = WORD(Konfigeintrage.6,1)
  103. HexEdPfadLang = LENGTH(HexEdPfad)
  104. HexEdName = SUBSTR(Konfigeintrage.6,HexEdPfadLang+2)
  105. IF Icon = '0' THEN StarticonName = 'nicht iconifiziert'
  106. IF Icon = '1' THEN StarticonName = 'iconifiziert'
  107. FarbenFenster = Konfigeintrage.7
  108. FarbeGruppe = Konfigeintrage.8
  109.  
  110. CALL PUBSCREENTOFRONT(Pubscreen)
  111.  
  112. Aktiv = 'TRWI_Flags TRWF_NOACTIVATE'
  113.  
  114. IF (Icon = '1') THEN DO
  115. Iconmerker = 'Ein'
  116. SIGNAL iconif
  117. END
  118.  
  119. Start:
  120.  
  121. IF (FarbenFenster = 'KONFIGEINTRAGE.7') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHINE_FILL'
  122. IF (FarbeGruppe = 'KONFIGEINTRAGE.8') THEN FarbeGruppe = 'TRAT_Backfill TRBF_FILL_BACKGROUND'
  123.  
  124. Schrift.0 = '3'
  125. Schrift.ta_name = Schrift.ta_name
  126. Schrift.ta_ysize = Schrift.ta_ysize
  127. Schrift.ta_style = Schrift.ta_style
  128.  
  129. Schriftlaenge = LENGTH(Schrift.ta_name)
  130. SchriftLang = Schriftlaenge-5
  131. SchriftName = SUBSTR(Schrift.ta_name,1,SchriftLang)
  132.  
  133. Programmstartname = ProgrammTypName
  134.  
  135. Hilfe.0 = '2'
  136. Hilfe.1 = 'Ein'
  137. Hilfe.2 = 'Aus'
  138.  
  139. IF HilfeStartNr = '0' THEN HilfeName = 'Ein'
  140. IF HilfeStartNr = '1' THEN HilfeName = 'Aus' 
  141.  
  142. IF Programmstartname = 'Alle' THEN ProgStartNr = '0'
  143. IF Programmstartname = 'Programm' THEN ProgStartNr = '1'
  144. IF Programmstartname = 'ARexx' THEN ProgStartNr = '2'
  145. IF Programmstartname = 'Script' THEN ProgStartNr = '3'
  146. IF Programmstartname = 'Guide' THEN ProgStartNr = '4'
  147.  
  148. ProgrammTyp.0 = '5'
  149. ProgrammTyp.1 = 'Alle'
  150. ProgrammTyp.2 = 'Programm'
  151. ProgrammTyp.3 = 'ARexx'
  152. ProgrammTyp.4 = 'Script'
  153. ProgrammTyp.5 = 'Guide'
  154.  
  155. Starticon.0 = '2'
  156. Starticon.1 = 'nicht iconifiziert'
  157. Starticon.2 = 'iconifiziert'
  158.  
  159. CALL LeseKonfiguration
  160.  
  161. IF (ProgStartNr = '0') THEN DO
  162. Listen = 'List'
  163. Listenzahl = List.0
  164. Auswahl = '0'
  165. END
  166.  
  167. IF (ProgStartNr = '1') THEN DO
  168. Listen = 'ListNormal'
  169. Listenzahl = ListNormal.0
  170. Auswahl = '1'
  171. END
  172.  
  173. IF (ProgStartNr = '2') THEN DO
  174. Listen = 'ListRexx'
  175. Listenzahl = ListRexx.0
  176. Auswahl = '2'
  177. END
  178.  
  179. IF (ProgStartNr = '3') THEN DO
  180. Listen = 'ListScript'
  181. Listenzahl = ListScript.0
  182. Auswahl = '3'
  183. END
  184.  
  185. IF (ProgStartNr = '4') THEN DO
  186. Listen = 'ListGuide'
  187. Listenzahl = ListGuide.0
  188. Auswahl = '4'
  189. END
  190.  
  191. IF (HilfeStartNr = '0') THEN DO
  192. HilfeName = 'Ein'
  193. HelpMe = QuickHelpOn('1')
  194. END
  195. IF (HilfeStartNr = '1') THEN DO
  196. HilfeName = 'Aus'
  197. HelpMe = QuickHelpOn('0')
  198. END
  199.  
  200. /*
  201. BoopsiImageD('Pic',155,47) 'Space',
  202. BoopsiImageD('Pic',IMAGEWIDTH('Pic'),IMAGEHEIGHT('Pic')) 'Space',
  203. */
  204.  
  205. Flags = 'WindowFlags('TRWF_NODRAGBAR')'
  206.  
  207. ver = 'v2.2'
  208.  
  209. imageflags = 'TRXIF_CENTER|TRXIF_SCALE|TRXIF_PROP'
  210. CALL CREATEIMAGE('Pic',Bild,'TRXIM_PubScreenName' Pubscreen 'TRXIM_Flags' imageflags)
  211.  
  212. Defaultapp =  TR_CREATEAPP('TRCA_Name "ProgrammManager"',
  213.        'TRCA_LongName "Programmmanager 'ver' ©1998 by Reinhard Steinert"',
  214.        'TRCA_Info     "Programmstart easy"',
  215.        'TRCA_Version  "'ver'" ',
  216.        'TRCA_Release  "2"',
  217.        'TRCA_Date     "21.12.1998"',
  218.        'TAG_END')
  219.  
  220. Hauptfenster:
  221.  
  222. windowtags1 =   WindowID(1),
  223. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Programmmanager       ©R.Steinert'),
  224. BeginMenu('Projekt') MenuItem('H_Programmeintrag hinzufügen',2) MenuItem('L_Programmeintrag löschen',3) MenuItem('N_Programmeintrag ändern',4) ItemBarlabel MenuItem('I_Iconifizieren',8) ItemBarlabel,
  225. MenuItem('S_Programm starten',5) ItemBarlabel,
  226. MenuItem('A_Über das Programm',9) MenuItem('B_Programm beenden',6),
  227. BeginMenu('Dateioperationen') MenuItem('C_Schutzbits',12) MenuItem('D_Dateikommentar',13),
  228. ItemBarlabel MenuItem('T_Text-Editor',19) MenuItem('X_Hex-Editor',20),
  229. BeginMenu('Einstellungen') MenuItem('E_Allgemeine Einstellungen',18) MenuItem('F_Farb Einstellungen',22) ItemBarlabel,
  230. MenuItem('W_Fensterposition speichern',7) MenuItem('P_Programmeinträge speichern',14),
  231. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  232. NamedFrameBox('Programmauswahl') FarbeGruppe,
  233. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space' 'Space',
  234. 'HorizGroupAC',
  235. CycleGadget('ProgrammTyp',ProgStartNr,15) QuickHelp(Satz.1''CR''Satz.2) 'Space',
  236. ClippedTextBoxMW('',17,3) ClippedTextBoxMW(Listenzahl,16,3) 'EndGroup',
  237. 'Space' ListSS(Listen,1,0,-1) QuickHelp(Satz.3''CR''Satz.4) 'Space',
  238. ClippedTextBox('',10) 'Space',
  239. 'HorizGroupAC' Button('_Starten',5) QuickHelp(Satz.10) Button('_Löschen',3) QuickHelp(Satz.8) 'EndGroup',
  240. 'EndGroup' 'Space' 'EndGroup' 'Space' 'EndGroup',
  241. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  242. NamedFrameBox('Optionen') FarbeGruppe,
  243. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space' 'Space',
  244. Button('_Hinzufügen',2) QuickHelp(Satz.5''CR''Satz.6''CR''Satz.7) 'Space' Text3('Drop Icon'),
  245. DropBox(21) QuickHelp(Satz.64''CR''Satz.65''CR''Satz.66''CR''Satz.67) 'Space' 'Space',
  246. Button('Ä_ndern',4) QuickHelp(Satz.9) 'Space',
  247. BoopsiImageD('Pic',IMAGEWIDTH('Pic'),IMAGEHEIGHT('Pic')) 'TRAT_Flags' 'TRIM_BOOPSI' 'Space',
  248. Button('S_chutzbits',12) QuickHelp(Satz.11),
  249. Button('_Kommentar',13) QuickHelp(Satz.12),
  250. Button('_Iconifiy',8) QuickHelp(Satz.13) 'Space',
  251. Button('_Beenden',6) QuickHelp(Satz.14) 'Space',
  252. 'EndGroup' 'Space' 'EndGroup' 'Space',
  253. 'EndGroup' 'Space' 'EndGroup' 'EndGroup',
  254. EndProject
  255.  
  256. app = Defaultapp
  257. IF app ~= '00000000'x THEN DO
  258. window = TR_OPENPROJECT( app ,windowtags1)
  259. IF window ~= '00000000'x THEN DO
  260. ende = 0
  261. DO WHILE ende ~= 1
  262. CALL TR_WAIT(app,'')
  263.  
  264. IF (PubScreenSchalter = 'Ein') THEN CALL GebeAttribute
  265.  
  266. DO WHILE TR_HANDLEMSG(app,'event')
  267.  
  268. IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
  269.  
  270. SELECT
  271.  
  272. WHEN event.trm_id = 1 THEN DO
  273. ProgrammNr = event.trm_data+1
  274. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text',ProgrammNr)
  275. IF (Auswahl = '0') THEN Filename = List.ProgrammNr
  276. IF (Auswahl = '1') THEN Filename = ListNormal.ProgrammNr
  277. IF (Auswahl = '2') THEN Filename = ListRexx.ProgrammNr
  278. IF (Auswahl = '3') THEN Filename = ListScript.ProgrammNr
  279. IF (Auswahl = '4') THEN Filename = ListGuide.ProgrammNr
  280. IF (Auswahl = '0') THEN Stack = Stack.ProgrammNr
  281. IF (Auswahl = '1') THEN Stack = StackNormal.ProgrammNr
  282. IF (Auswahl = '2') THEN Stack = StackRexx.ProgrammNr
  283. IF (Auswahl = '3') THEN Stack = StackScript.ProgrammNr
  284. IF (Auswahl = '4') THEN Stack = StackGuide.ProgrammNr
  285. IF (Auswahl = '0') THEN PrgStart = PrgStart.ProgrammNr
  286. IF (Auswahl = '1') THEN PrgStart = PrgStartNormal.ProgrammNr
  287. IF (Auswahl = '2') THEN PrgStart = PrgStartRexx.ProgrammNr
  288. IF (Auswahl = '3') THEN PrgStart = PrgStartScript.ProgrammNr
  289. IF (Auswahl = '4') THEN PrgStart = PrgStartGuide.ProgrammNr
  290. IF (Auswahl = '0') THEN Con = Con.ProgrammNr
  291. IF (Auswahl = '1') THEN Con = ConNormal.ProgrammNr
  292. IF (Auswahl = '2') THEN Con = ConRexx.ProgrammNr
  293. IF (Auswahl = '3') THEN Con = ConScript.ProgrammNr
  294. IF (Auswahl = '4') THEN Con = ConGuide.ProgrammNr
  295. IF (Auswahl = '0') THEN ZeileR = Zeile.ProgrammNr
  296. IF (Auswahl = '1') THEN ZeileR = NormalPrg.ProgrammNr
  297. IF (Auswahl = '2') THEN ZeileR = RexxPrg.ProgrammNr
  298. IF (Auswahl = '3') THEN ZeileR = ScriptPrg.ProgrammNr
  299. IF (Auswahl = '4') THEN ZeileR = GuidePrg.ProgrammNr
  300. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text',Filename)
  301. CALL SucheArgumente
  302. END
  303.  
  304. WHEN event.trm_id = 15 THEN DO
  305. Auswahl = event.trm_data
  306. IF (Auswahl = '1') THEN DO
  307. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListNormal')
  308. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  309. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  310. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  311. END
  312. IF (Auswahl = '0') THEN DO
  313. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','List')
  314. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',List.0)
  315. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  316. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  317. END
  318. IF (Auswahl = '2') THEN DO
  319. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListRexx')
  320. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  321. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  322. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  323. END
  324. IF (Auswahl = '3') THEN DO
  325. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListScript')
  326. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  327. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  328. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  329. END
  330. IF (Auswahl = '4') THEN DO
  331. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListGuide')
  332. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  333. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  334. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  335. END
  336. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text','')
  337. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  338. END
  339.  
  340. OTHERWISE;NOP
  341. END
  342. END
  343.  
  344. IF event.trm_class = 'TRMS_ICONDROPPED' THEN DO
  345. SELECT
  346. WHEN event.trm_id = 21 THEN CALL AddWithDrop
  347. OTHERWISE
  348. NOP
  349. END
  350. END
  351.  
  352. IF event.trm_class = 'TRMS_ACTION' THEN DO
  353. IF event.trm_id = 2 THEN CALL Zufuegen
  354. IF event.trm_id = 3 THEN CALL loeschen
  355. IF event.trm_id = 4 THEN DO
  356. PrgStartAlt = PrgStart
  357. CALL Aendern
  358. END
  359. IF event.trm_id = 5 THEN CALL Starten
  360. IF event.trm_id = 6 THEN DO
  361. IF (BenutzerMerker = 'Ein') THEN DO
  362. NichtGesichert = TR_EASYREQUEST(app,' Die Einträge wurden geändert ! ','_Beenden|_Speichern|_Abbruch','TREZ_LockProject' C2D(window) 'TAG_END')
  363. IF NichtGesichert = 1 THEN ende = 1
  364. IF NichtGesichert = 0 THEN NOP
  365. IF NichtGesichert = 2 THEN DO
  366. SchreibKonN = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  367. ende = 1
  368. END
  369. END
  370. IF ~(BenutzerMerker = 'Ein') THEN ende = 1
  371.  
  372. END
  373.  
  374. IF event.trm_id = 7 THEN CALL Fenster
  375. IF event.trm_id = 8 THEN CALL iconify
  376. IF event.trm_id = 9 THEN CALL About
  377. IF event.trm_id = 12 THEN CALL Schutz
  378. IF event.trm_id = 13 THEN CALL Kommentar
  379. IF event.trm_id = 18 THEN CALL Einstellungen
  380. IF event.trm_id = 22 THEN CALL Farbeinstellung
  381.  
  382. IF event.trm_id = 14 THEN DO
  383. IF ~(BenutzerMerker = 'Ein') THEN  NichtsAnders = TR_EASYREQUEST(app,' Es wurden keine Einträge geändert ! ',_OK,'TREZ_LockProject' C2D(window) 'TAG_END')
  384.  IF (BenutzerMerker = 'Ein') THEN DO
  385.  SchreibKonN = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  386.  DROP BenutzerMerker
  387.  END
  388. END
  389.  
  390. IF event.trm_id = 19 THEN DO
  391. IF (Filename = 'FILENAME') THEN EdText = TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  392. IF (EdText = 'EDTEXT') THEN 'RUN >NIL: 'TextEdPfad'/'TextEdName' 'Filepfad
  393. IF (EdText = '0') THEN DROP EdText
  394. END
  395.  
  396. IF event.trm_id = 20 THEN DO
  397. IF (Filename = 'FILENAME') THEN EdHex = TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  398. IF (EdHex = 'EDHEX') THEN 'RUN >NIL: 'HexEdPfad'/'HexEdName' 'Filepfad
  399. IF (EdHex = '0') THEN DROP EdHex
  400. END
  401.  
  402.  
  403. END
  404.  
  405. IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  406. IF (BenutzerMerker = 'Ein') THEN DO
  407. NichtGesichert = TR_EASYREQUEST(app,' Die Einträge wurden geändert !','_Beenden|_Speichern|_Abbruch','TREZ_LockProject' C2D(window) 'TAG_END')
  408. IF NichtGesichert = 1 THEN ende = 1
  409. IF NichtGesichert = 0 THEN NOP
  410. IF NichtGesichert = 2 THEN DO
  411. SchreibKonN = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  412. ende = 1
  413. CALL DeleteImage('Pic')
  414. END
  415. END
  416. IF ~(BenutzerMerker = 'Ein') THEN ende = 1
  417. END
  418. END
  419. END
  420. CALL TR_CLOSEPROJECT(window)
  421. END
  422. CALL TR_DELETEAPP(app)
  423. CALL DeleteImage('Pic')
  424. END
  425.  
  426. EXIT
  427.  
  428.  
  429. Zufuegen:
  430. ChangeMerker = '0'
  431. Change:
  432.  
  433. CALL TR_LOCKPROJECT(window)
  434.  
  435. windowtags = WindowID(2),
  436. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Füge ein/ändern eines Programmes:             '),
  437. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  438. GroupBox FarbeGruppe,
  439. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  440. NamedSeparator(' Programmdaten ') 'Space' 'Space',
  441. 'HorizGroupA',
  442. GetFileButton(5) QuickHelp(Satz.32''CR''Satz.33) 'Space' StringGadget('',1) 'TRAT_Value 1024' 'EndGroup' 'Space',
  443. 'HorizGroupAC',
  444. TextN('Programmeintrag:') 'Space' StringGadget('',6) QuickHelp(Satz.34''CR''Satz.35) 'EndGroup',
  445. 'VertGroupAC' 'Space' 'Space' 'HorizGroupAC',
  446. TextN('Stack:') 'Space' StringGadget('',7) QuickHelp(Satz.36''CR''Satz.37),
  447. 'Space' 'Space' TextID('A_Rexx:',8) 'Space' CheckBox(8) QuickHelp(Satz.38''CR''Satz.39''CR''Satz.40),
  448. 'Space' TextID('Scr_ipt:',9) 'Space' CheckBox(9) QuickHelp(Satz.41''CR''Satz.39''CR''Satz.40),
  449. 'Space' TextID('_Guide:',12) 'Space' CheckBox(12) QuickHelp(Satz.42''CR''Satz.39''CR''Satz.40),
  450. 'Space' TextID('_Con:',10) 'Space',
  451. CheckBox(10) QuickHelp(Satz.43''CR''Satz.44''CR''Satz.45''CR''Satz.46) 'Space' 'EndGroup',
  452. 'VertGroupAC' 'Space' 'Space' 'Space',
  453. NamedSeparator(' Argumente für den Programmaufruf ') 'Space',
  454. StringGadget('',2) 'TRAT_Value 1024' QuickHelp(Satz.62''CR''Satz.63) 'Space' 'Space' 'Space',
  455. 'HorizGroupAC' Button('_Speichern',3) QuickHelp(Satz.47),
  456. 'Space' Button('_Benützen',11) QuickHelp(Satz.48) 'Space',
  457. Button('_Abbrechen',4) QuickHelp(Satz.49) 'EndGroup',
  458. 'Space' 'EndGroup' 'EndGroup' 'EndGroup' 'Space' 'EndGroup',
  459. 'VertGroupSA Space EndGroup',
  460. 'EndGroup' 'Space' 'EndGroup',
  461. 'EndProject'
  462.  
  463. appl = Defaultapp
  464. window2 = TR_OPENPROJECT(appl,windowtags)
  465. IF window2 ~= '00000000'x THEN DO
  466. endF = 0
  467.  
  468. IF (ChangeMerker = '0') THEN DO
  469. DROP Argumente;DROP Filepfad;DROP Filename
  470. Geti = ASL_REQUESTFILE(window2, 'file', LoadFile('Neuer Programmeintrag','Fertig',device,'') 'ASLFR_PubScreenName' Pubscreen)
  471.  
  472. IF geti = 1 THEN DO
  473. Filepfad = file.1
  474.  
  475. CALL TesteInfo
  476.  
  477. PosFilePath = LASTPOS('/',Filepfad)
  478.  
  479. IF (PosFilePath >= '1') THEN DO
  480. ZieheAb = PosFilePath+1
  481. Filename = SUBSTR(Filepfad,ZieheAb)
  482. END
  483.  
  484. IF (PosFilePath = '0') THEN DO
  485. PosFilePathN = LASTPOS(':',Filepfad)
  486. Filename = DELSTR(Filepfad,1,PosFilePathN)
  487. END
  488.  
  489. CALL TR_SETATTRIBUTE(window2,1,'TROB_String', Filepfad)
  490. CALL TR_SETATTRIBUTE(window2,6,'TROB_String', Filename)
  491. CALL TR_SETATTRIBUTE(window2,7,'TROB_String', Stack)
  492. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','1')
  493. CALL TR_SETATTRIBUTE(window2, 2,'TROB_String', Argumente)
  494.  
  495. IF (Auswahl = '2') THEN DO
  496. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','0')
  497. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Value','1')
  498. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  499. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  500. PrgStart = '1'
  501. END
  502. IF (Auswahl = '3') THEN DO
  503. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','0')
  504. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Value','1')
  505. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  506. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  507. PrgStart = '2'
  508. END
  509. IF (Auswahl = '4') THEN DO
  510. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  511. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  512. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Value','1')
  513. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Value','0')
  514. PrgStart = '3'
  515. END
  516.  
  517. END
  518. END
  519.  
  520. IF (ChangeMerker = '1') THEN DO
  521.  
  522. CALL SucheArgumente
  523.  
  524. IF Con = 1 THEN CALL TR_SETATTRIBUTE(window2,10,'TRAT_Value','1')
  525.  
  526. CALL TR_SETATTRIBUTE(window2, 6,'TROB_String', Filename)
  527. CALL TR_SETATTRIBUTE(window2, 1,'TROB_String', Filepfad)
  528. CALL TR_SETATTRIBUTE(window2, 2,'TROB_String', Argumente)
  529. CALL TR_SETATTRIBUTE(window2, 7,'TROB_String', Stack)
  530.  
  531. IF (PrgStart = '1') THEN DO
  532. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Value','1')
  533. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  534. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  535. END
  536.  
  537. IF (PrgStart = '2') THEN DO
  538. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Value','1')
  539. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  540. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  541. END
  542.  
  543. IF (PrgStart = '3') THEN DO
  544. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Value','1')
  545. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  546. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  547. END
  548.  
  549. IF (PrgStart = '0')&(Con = '0')|(PrgStart = '3') THEN CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','1')
  550. END
  551.  
  552.  
  553. DO WHILE endF ~= 1
  554. CALL TR_WAIT(appl,'')
  555. DO WHILE TR_HANDLEMSG(appl,'eventl')
  556.  
  557. IF eventl.trm_class = 'TRMS_NEWVALUE' THEN DO
  558.  
  559. SELECT
  560. WHEN eventl.trm_id = 1 THEN Filepfad = TR_GETATTRIBUTE(window2,1,'TROB_String')
  561. WHEN eventl.trm_id = 2 THEN Argumente = TR_GETATTRIBUTE(window2,2,'TROB_String')
  562. WHEN eventl.trm_id = 6 THEN Filename = TR_GETATTRIBUTE(window2,6,'TROB_String')
  563. WHEN eventl.trm_id = 7 THEN Stack = TR_GETATTRIBUTE(window2,7,'TROB_String')
  564. WHEN eventl.trm_id = 8 THEN DO
  565. Rexx = eventl.trm_data
  566. IF (Rexx = '0') THEN DO
  567. PrgStart = 0
  568. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','0')
  569. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','1')
  570. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Value','0')
  571. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','0')
  572. END
  573. IF (Rexx = '1') THEN DO
  574. PrgStart = 1
  575. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','0')
  576. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  577. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  578. END
  579. END
  580.  
  581. WHEN eventl.trm_id = 9 THEN DO
  582. Script = eventl.trm_data
  583. IF (Script = '0') THEN DO
  584. PrgStart = 0
  585. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','1')
  586. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','0')
  587. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Value','0')
  588. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','0')
  589. END
  590. IF (Script = '1') THEN DO
  591. PrgStart = 2
  592. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','0')
  593. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  594. CALL TR_SETATTRIBUTE(window2,12,'TRAT_Disabled','1')
  595. END
  596. END
  597.  
  598. WHEN eventl.trm_id = 12 THEN DO
  599. Guide = eventl.trm_data
  600. IF (Guide = '0') THEN DO
  601. PrgStart = 0
  602. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','0')
  603. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','0')
  604. END
  605. IF (Guide = '1') THEN DO
  606. PrgStart = 3
  607. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','1')
  608. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','1')
  609. END
  610. END
  611.  
  612. WHEN eventl.trm_id = 10 THEN Con = eventl.trm_data
  613. OTHERWISE;NOP
  614. END
  615. END
  616.  
  617. IF eventl.trm_class = 'TRMS_ACTION' THEN DO
  618. IF eventl.trm_id = 3 THEN DO
  619. IF (Filepfad = 'FILEPFAD')|(Filename = 'FILENAME')|(Filepfad = '')|(Filename = '') THEN endF = 1
  620. IF ~(Filepfad = 'FILEPFAD')&~(Filename = 'FILENAME')&~(Filepfad = '')&~(Filename = '') THEN DO
  621. CALL Speichern
  622. CALL TR_UNLOCKPROJECT(window)
  623. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  624. endF = 1
  625. END
  626. END
  627.  
  628. IF eventl.trm_id = 4 THEN DO
  629. endF = 1
  630. CALL TR_UNLOCKPROJECT(window)
  631. END
  632.  
  633. IF eventl.trm_id = 5 THEN CALL Filereq
  634.  
  635. IF eventl.trm_id = 11 THEN DO
  636. CALL UseIt
  637. CALL TR_UNLOCKPROJECT(window)
  638. endF = 1
  639. END
  640. END
  641. IF eventl.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  642. CALL TR_UNLOCKPROJECT(window)
  643. endF = 1
  644. END
  645. END
  646. END
  647. CALL TR_CLOSEPROJECT(window2)
  648. END
  649. RETURN
  650.  
  651. Speichern:
  652.  
  653. Speichermerker = 'Ein'
  654. IF ~(AenderMerker = 'Ein') THEN CALL UseIt
  655. IF (AenderMerker = 'Ein') THEN Signal Aendern
  656. EtzSpeichern:
  657. SchreibKonN = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  658. DROP AenderMerker;DROP BenutzerMerker;DROP ChangeMerker;Drop PrgStart
  659. Drop Con;DROP Argumente;DROP Filepfad;DROP Filename;DROP Speichermerker
  660. RETURN
  661.  
  662.  
  663. loeschen:
  664.  
  665. FilenameAlt = Filename
  666. IF (Filename = 'FILENAME') THEN DO
  667. CALL TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  668. RETURN
  669. END
  670.  
  671. Wirklich = TR_EASYREQUEST(app,' Willst Du diesen Eintrag wirklich löschen !',' _Ja | _Nein ','TREZ_LockProject' C2D(window) 'TAG_END')
  672. IF (Wirklich = '0') THEN RETURN
  673.  
  674. JaLoesch:
  675.  
  676. IF (Auswahl = '0') THEN DO
  677. IF (PrgStart = '0') THEN DO
  678. SucheNormal = LSEARCH(Zeile.ProgrammNr,'NormalPrg')
  679. WegNormal = STEMREMOVE('NormalPrg',SucheNormal)
  680. WegListNormal = STEMREMOVE('ListNormal',SucheNormal)
  681. CALL InitialListFenster
  682. END
  683. IF (PrgStart = '1') THEN DO
  684. SucheRexx = LSEARCH(Zeile.ProgrammNr,'RexxPrg')
  685. WegRexx = STEMREMOVE('RexxPrg',SucheRexx)
  686. WegListRexx = STEMREMOVE('ListRexx',SucheRexx)
  687. CALL InitialListFenster
  688. END
  689. IF (PrgStart = '2') THEN DO
  690. SucheScript = LSEARCH(Zeile.ProgrammNr,'ScriptPrg')
  691. WegScript = STEMREMOVE('ScriptPrg',SucheScript)
  692. WegListScript = STEMREMOVE('ListScript',SucheScript)
  693. CALL InitialListFenster
  694. END
  695. IF (PrgStart = '3') THEN DO
  696. SucheGuide = LSEARCH(Zeile.ProgrammNr,'GuidePrg')
  697. WegGuide = STEMREMOVE('GuidePrg',SucheGuide)
  698. WegListGuide = STEMREMOVE('ListGuide',SucheGuide)
  699. CALL InitialListFenster
  700. END
  701. WegDamit = STEMREMOVE('Zeile',ProgrammNr)
  702. CALL InitZeile
  703. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','List')
  704. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',List.0)
  705. END
  706.  
  707. IF ~(Auswahl = '0') THEN DO
  708. IF (Auswahl = '1') THEN DO
  709. Suche = LSEARCH(NormalPrg.ProgrammNr,'Zeile')
  710. RemoveNprg = STEMREMOVE('NormalPrg',ProgrammNr)
  711. WegZeile = STEMREMOVE('Zeile',Suche)
  712. CALL InitZeile
  713. CALL InitialListFenster
  714. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListNormal')
  715. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  716. END
  717. IF (Auswahl = '2') THEN DO
  718. Suche = LSEARCH(RexxPrg.ProgrammNr,'Zeile')
  719. RemoveRexx = STEMREMOVE('RexxPrg',ProgrammNr)
  720. WegZeile = STEMREMOVE('Zeile',Suche)
  721. CALL InitZeile
  722. CALL InitialListFenster
  723. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListRexx')
  724. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  725. END
  726. IF (Auswahl = '3') THEN DO
  727. Suche = LSEARCH(ScriptPrg.ProgrammNr,'Zeile')
  728. RemoveScript = STEMREMOVE('ScriptPrg',ProgrammNr)
  729. WegZeile = STEMREMOVE('Zeile',Suche)
  730. CALL InitZeile
  731. CALL InitialListFenster
  732. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListScript')
  733. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  734. END
  735. IF (Auswahl = '4') THEN DO
  736. Suche = LSEARCH(GuidePrg.ProgrammNr,'Zeile')
  737. RemoveGuide = STEMREMOVE('GuidePrg',ProgrammNr)
  738. WegZeile = STEMREMOVE('Zeile',Suche)
  739. CALL InitZeile
  740. CALL InitialListFenster
  741. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListGuide')
  742. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  743. END
  744. END
  745.  
  746. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  747. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  748. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text','')
  749.  
  750. IF (Zeile.0 = '0') THEN DO
  751. CALL Open(PrgKonfig,Pfad'Programmmanager.txt','W')
  752. CALL WRITECH(PrgKonfig,'')
  753. CALL Close(PrgKonfig)
  754. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  755. RETURN
  756. END
  757.  
  758. SchreibKon = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  759. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  760. RETURN
  761.  
  762. InitZeile:
  763. DO i = 1 TO Zeile.0
  764. List.i = WORD(Zeile.i,1)
  765. Stack.i = WORD(Zeile.i,2)
  766. Con.i = WORD(Zeile.i,3)
  767. PrgStart.i = WORD(Zeile.i,4)
  768. END
  769. List.0 = Zeile.0
  770. RETURN
  771.  
  772.  
  773. Starten:
  774.  
  775. IF (Filename = 'FILENAME') THEN DO
  776. CALL TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  777. RETURN
  778. END
  779.  
  780. IF (PrgStart = '3') THEN DO
  781. IF (Stack >= '4097') THEN DO
  782. ScriptZeile.0 = '2'
  783. ScriptZeile.1 = 'Stack 'Stack
  784. ScriptZeile.2 = 'RUN >NIL: AmigaGuide Screen='PubScreen' 'Filepfad
  785. Ausfuehren = WRITEFILE('t:Laufe','ScriptZeile')
  786. 'RUN >NIL: Execute T:Laufe'
  787. RETURN
  788. END
  789. 'RUN >NIL: AmigaGuide Screen='PubScreen' 'Filepfad
  790. RETURN
  791. END
  792.  
  793. IF (Con = '1')&(PrgStart = '2') THEN DO
  794. IF (Stack >= '4097') THEN DO
  795. ScriptZeile.0 = '2'
  796. ScriptZeile.1 = 'Stack 'Stack
  797. ScriptZeile.2 = STRIP('RUN >NIL: NewShell con:'Con1'/'Con2'/'Con3'/'Con4'/'FensterTitel'/AUTO/CLOSE/SIMPLE/SCREEN'PubScreen' FROM 'Filepfad' 'Argumente)
  798. Ausfuehren = WRITEFILE('t:Laufe','ScriptZeile')
  799. 'RUN >NIL: EXECUTE T:Laufe'
  800. RETURN
  801. END
  802. 'RUN >NIL: NewShell con:'Con1'/'Con2'/'Con3'/'Con4'/'FensterTitel'/AUTO/CLOSE/SIMPLE/SCREEN'PubScreen' 'Filepfad' 'Argumente
  803. RETURN
  804. END
  805.  
  806. IF (Con = '0')&(PrgStart = '2') THEN DO
  807. IF (Stack >= '4097') THEN DO
  808. ScriptZeile.0 = '2'
  809. ScriptZeile.1 = 'Stack 'Stack
  810. ScriptZeile.2 = STRIP('RUN >NIL: EXECUTE 'Filepfad' 'Argumente)
  811. Ausfuehren = WRITEFILE('t:Laufe','ScriptZeile')
  812. 'RUN >NIL: Execute t:Laufe'
  813. RETURN
  814. END
  815. 'RUN >NIL: Execute 'Filepfad' 'Argumente
  816. RETURN
  817. END
  818.  
  819.  
  820. IF (Con = '0')&(PrgStart = '1') THEN DO
  821. IF (Stack >= '4097') THEN DO
  822. 'RUN >NIL: RX 'Filepfad' 'Argumente
  823. CALL TR_SETATTRIBUTE(window,0,'TRWI_Flags','TRWF_NOACTIVATE')
  824. RETURN('')
  825. END
  826. 'RUN >NIL: RX 'Filepfad' 'Argumente
  827.  
  828. CALL TR_SETATTRIBUTE(window,0,'TRWI_Flags','TRWF_NOACTIVATE')
  829.  
  830. RETURN
  831. END
  832.  
  833. IF (Con = '1')&(PrgStart = '1') THEN DO
  834. 'run SYS:RexxC/RX <>CON:'Con1'/'Con2'/'Con3'/'Con4'/ProgrammManager_ARexxkonsole/SIMPLE/SCREEN'PubScreen' 'Filepfad' 'Argumente
  835.  
  836. CALL TR_SETATTRIBUTE(window,0,'TRWI_Flags','TRWF_NOACTIVATE')
  837.  
  838. RETURN
  839.  
  840. END
  841.  
  842.  
  843. IF (PrgStart = '0') THEN DO
  844.  
  845. Standardprogramm = GETDEFAULTTOOL(Filepfad)
  846. IF ~(Standardprogramm = '') THEN Standard = Standardprogramm' '
  847. IF (Standardprogramm = '') THEN Standard = ''
  848. IF (Standardprogramm = 'JUNK') THEN Standard = ''
  849.  
  850. IF (Stack >= '4097') THEN DO
  851. ScriptZeile.0 = '2'
  852. ScriptZeile.1 = 'Stack 'Stack
  853. ScriptZeile.2 = STRIP('RUN >NIL: 'Standard''Filepfad' 'Argumente)
  854. Ausfuehren = WRITEFILE('t:Laufe','ScriptZeile')
  855.  
  856. IF (Standard = '') THEN 'RUN >NIL: Execute T:Laufe'
  857. ELSE
  858. 'Run 'Standard''Filepfad' 'Argumente
  859.  
  860. RETURN
  861. END
  862.  
  863. IF (Standard = '') THEN 'RUN >NIL: 'Filepfad' 'Argumente
  864. ELSE
  865. 'Run 'Standard''Filepfad' 'Argumente
  866.  
  867. RETURN
  868. END
  869.  
  870.  
  871. Aendern:
  872.  
  873. IF (Filename = 'FILENAME') THEN DO
  874. CALL TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  875. RETURN
  876. END
  877.  
  878. ChangeMerker = '1'
  879. IF ~(Speichermerker = 'Ein') THEN Signal Change
  880. Zurueck:
  881.  
  882. IF (Argumente = 'ARGUMENTE') THEN Argumente = ''
  883. Filename = TRANSLATE(Filename,'_',' ')
  884.  
  885. NeueZeile = Filename'   'Stack'   'Con'   'PrgStart'   'Filepfad' 'Argumente
  886. NeueZeile = STRIP(NeueZeile)
  887.  
  888. IF (Auswahl = '0') THEN DO
  889.  
  890. if (PrgStartAlt = '0') THEN DO
  891. Such = LSEARCH(Zeile.ProgrammNr,'NormalPrg')
  892. WegPG = STEMREMOVE('NormalPrg',Such)
  893. END
  894. IF (PrgStartAlt = '1') THEN DO
  895. Such = LSEARCH(Zeile.ProgrammNr,'RexxPrg')
  896. WegPG = STEMREMOVE('RexxPrg',Such)
  897. END
  898. IF (PrgStartAlt = '2') THEN DO
  899. Such = LSEARCH(Zeile.ProgrammNr,'ScriptPrg')
  900. WegPG = STEMREMOVE('ScriptPrg',Such)
  901. END
  902. IF (PrgStartAlt = '3') THEN DO
  903. Such = LSEARCH(Zeile.ProgrammNr,'GuidePrg')
  904. WegPG = STEMREMOVE('GuidePrg',Such)
  905. END
  906. CALL SucheProgrammNeu
  907. Filename.ProgrammNr = Filename
  908. Zeile.ProgrammNr = NeueZeile
  909. WegLi = STEMREMOVE('List',ProgrammNr)
  910. if (List.0 = '0') THEN DO
  911. List.0 = '1'
  912. List.1 = Filename
  913. MerkEs = 'Ein'
  914. END
  915. if ~(MerkEs = 'Ein') THEN NeuL = STEMINSERT('List',1,1,Filename)
  916. if ~(MerkEs = 'Ein') THEN Sorter = QSORT('List',,,'NOCASE',)
  917. WegZ = STEMREMOVE('Zeile',ProgrammNr)
  918. if (Zeile.0 = '0') THEN DO
  919. Zeile.0 = '1'
  920. Zeile.1 = NeueZeile
  921. MerkEs = 'Ein'
  922. END
  923. if ~(MerkEs = 'Ein') THEN NeuZeile = STEMINSERT('Zeile',1,1,NeueZeile)
  924. if ~(MerkEs = 'Ein') THEN Sortes = QSORT('Zeile',,,'NOCASE',)
  925. CALL InitialListFenster
  926. CALL InitZeile
  927. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','List')
  928. DROP MerkEs
  929. END
  930.  
  931.  
  932. IF (Auswahl = '1') THEN DO
  933. Such = LSEARCH(NormalPrg.ProgrammNr,'Zeile')
  934. WegZeile = STEMREMOVE('Zeile',Such)
  935. IF (Zeile.0 = '0') THEN DO
  936. Zeile.0 = '1'
  937. Zeile.1 = NeueZeile
  938. MerkEs = 'Ein'
  939. END
  940. IF ~(MerkEs = 'Ein') THEN NewZeile = STEMINSERT('Zeile',1,1,NeueZeile)
  941. IF ~(MerkEs = 'Ein') THEN SorZ = QSORT('Zeile',,,'NOCASE',)
  942. WegListe = STEMREMOVE('List',Such)
  943. if (List.0 = '0') THEN DO
  944. List.0 = '1'
  945. List.1 = Filename
  946. MerkEs = 'Ein'
  947. END
  948. IF ~(MerkEs = 'Ein') THEN NeuListe = STEMINSERT('List',1,1,Filename)
  949. IF ~(MerkEs = 'Ein') THEN SorLi = QSORT('List',,,'NOCASE',)
  950. WegPRG = STEMREMOVE('NormalPrg',ProgrammNr)
  951. CALL SucheProgrammNeu
  952. CALL InitZeile
  953. CALL InitialListFenster
  954. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  955. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListNormal')
  956. DROP MerkEs
  957. END
  958.  
  959. IF (Auswahl = '2') THEN DO
  960. Such = LSEARCH(RexxPrg.ProgrammNr,'Zeile')
  961. WegZeile = STEMREMOVE('Zeile',Such)
  962. IF (Zeile.0 = '0') THEN DO
  963. Zeile.0 = '1'
  964. Zeile.1 = NeueZeile
  965. MerkEs = 'Ein'
  966. END
  967. IF ~(MerkEs = 'Ein') THEN NewZeile = STEMINSERT('Zeile',1,1,NeueZeile)
  968. IF ~(MerkEs = 'Ein') THEN SortZeil = QSORT('Zeile',,,'NOCASE',)
  969. WegListe = STEMREMOVE('List',Such)
  970. IF (List.0 = '0') THEN DO
  971. List.0 = '1'
  972. List.1 = Filename
  973. MerkEs = 'Ein'
  974. END
  975. IF ~(MerkEs = 'Ein') THEN NeuListe = STEMINSERT('List',1,1,Filename)
  976. IF ~(MerkEs = 'Ein') THEN SortLis = QSORT('List',,,'NOCASE',)
  977. WegPRG = STEMREMOVE('RexxPrg',ProgrammNr)
  978. CALL SucheProgrammNeu
  979. CALL InitZeile
  980. CALL InitialListFenster
  981. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  982. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListRexx')
  983. DROP MerkEs
  984. END
  985.  
  986.  
  987. if (Auswahl = '3') THEN DO
  988. Such = LSEARCH(ScriptPrg.ProgrammNr,'Zeile')
  989. WegZeile = STEMREMOVE('Zeile',Such)
  990. IF (Zeile.0 = '0') THEN DO
  991. Zeile.0 = '1'
  992. Zeile.1 = NeueZeile
  993. MerkEs = 'Ein'
  994. END       
  995. IF ~(MerkEs = 'Ein') THEN NewZeile = STEMINSERT('Zeile',1,1,NeueZeile)
  996. IF ~(MerkEs = 'Ein') THEN SortZe = QSORT('Zeile',,,'NOCASE',)
  997. WegListe = STEMREMOVE('List',Such)
  998. IF (List.0 = '0') THEN DO
  999. List.0 = '1'
  1000. List.1 = Filename
  1001. MerkEs = 'Ein'
  1002. END
  1003. IF ~(MerkEs = 'Ein') THEN NeuListe = STEMINSERT('List',1,1,Filename)
  1004. IF ~(MerkEs = 'Ein') THEN SortLi = QSORT('List',,,'NOCASE',)
  1005. WegPRG = STEMREMOVE('ScriptPrg',ProgrammNr)
  1006. CALL SucheProgrammNeu
  1007. CALL InitZeile
  1008. CALL InitialListFenster
  1009. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  1010. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListScript')
  1011. DROP MerkEs
  1012. END
  1013.  
  1014. IF (Auswahl = '4') THEN DO
  1015. Such = LSEARCH(GuidePrg.ProgrammNr,'Zeile')
  1016. WegZeile = STEMREMOVE('Zeile',Such)
  1017. IF Zeile.0 = 0 THEN DO
  1018. Zeile.0 = '1'
  1019. Zeile.1 = NeueZeile
  1020. MerkEs = 'Ein'
  1021. END
  1022. if ~(MerkEs = 'Ein') THEN NewZeile = STEMINSERT('Zeile',1,1,NeueZeile)
  1023. if ~(MerkEs = 'Ein') THEN SorterL = QSORT('Zeile',,,'NOCASE',)
  1024. WegListe = STEMREMOVE('List',Such)
  1025. IF List.0 = 0 THEN DO
  1026. List.0 = '1'
  1027. List.1 = Filename
  1028. MerkEs = 'Ein'
  1029. END
  1030. if ~(MerkEs = 'Ein') THEN NeuListe = STEMINSERT('List',1,1,Filename)
  1031. if ~(MerkEs = 'Ein') THEN SorterLi = QSORT('List',,,'NOCASE',)
  1032. WegPRG = STEMREMOVE('GuidePrg',ProgrammNr)
  1033. CALL SucheProgrammNeu
  1034. CALL InitZeile
  1035. CALL InitialListFenster
  1036. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  1037. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListGuide')
  1038. DROP MerkEs
  1039. END
  1040.  
  1041.  
  1042.  
  1043. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  1044. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  1045. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text','')
  1046.  
  1047. if (Speichermerker = 'Ein') THEN Signal EtzSpeichern
  1048.  
  1049. BenutzerMerker = 'Ein'
  1050. AenderMerker = 'Ein'
  1051. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  1052.  
  1053. RETURN
  1054.  
  1055.  
  1056. SucheProgrammNeu:
  1057.  
  1058. IF (PrgStart = '0') THEN DO
  1059. IF NormalPrg.0 = 0 THEN DO
  1060. NormalPrg.0 = '1'
  1061. NormalPrg.1 = NeueZeile
  1062. MerkEs = 'Ein'
  1063. END
  1064. IF ~(MerkEs = 'Ein') THEN NeuP = STEMINSERT('NormalPrg',1,1,NeueZeile)
  1065. IF ~(MerkEs = 'Ein') THEN Sort = QSORT('NormalPrg',,,'NOCASE',)
  1066. END
  1067.  
  1068. IF (PrgStart = '1') THEN DO
  1069. IF RexxPrg.0 = 0 THEN DO
  1070. RexxPrg.0 = '1'
  1071. RexxPrg.1 = NeueZeile
  1072. MerkEs = 'Ein'
  1073. END
  1074. IF ~(MerkEs = 'Ein') THEN NeuP = STEMINSERT('RexxPrg',1,1,NeueZeile)
  1075. IF ~(MerkEs = 'Ein') THEN Sort = QSORT('RexxPrg',,,'NOCASE',)
  1076. END
  1077.  
  1078. IF (PrgStart = '2') THEN DO
  1079. IF ScriptPrg.0 = 0 THEN DO
  1080. ScriptPrg.0 = '1'
  1081. ScriptPrg.1 = NeueZeile
  1082. MerkEs = 'Ein'
  1083. END
  1084. IF ~(MerkEs = 'Ein') THEN NeuP = STEMINSERT('ScriptPrg',1,1,NeueZeile)
  1085. IF ~(MerkEs = 'Ein') THEN Sort = QSORT('ScriptPrg',,,'NOCASE',)
  1086. END
  1087.  
  1088. if (PrgStart = '3') THEN DO
  1089. IF GuidePrg.0 = 0 THEN DO
  1090. GuidePrg.0 = '1'
  1091. GuidePrg.1 = NeueZeile
  1092. MerkEs = 'Ein'
  1093. END
  1094. IF ~(MerkEs = 'Ein') THEN NeuP = STEMINSERT('GuidePrg',1,1,NeueZeile)
  1095. IF ~(MerkEs = 'Ein') THEN Sort = QSORT('GuidePrg',,,'NOCASE',)
  1096. END
  1097.  
  1098. DROP MerkEs
  1099. RETURN
  1100.  
  1101.  
  1102. Filereq:
  1103.  
  1104. PosSemi = LASTPOS('/',Filepfad)
  1105. IF (PosSemi >= '1') THEN AlterPfad = SUBSTR(Filepfad,1,PosSemi)
  1106. IF (PosSemi = '0') THEN DO
  1107. PosDoppel = LASTPOS(':',Filepfad)
  1108. AlterPfad = SUBSTR(Filepfad,1,PosDoppel)
  1109. END
  1110.  
  1111. Get = ASL_REQUESTFILE(window2, 'file', LoadFile('Neuer Programmeintrag','Fertig',AlterPfad,'') 'ASLFR_PubScreenName' Pubscreen)
  1112.  
  1113. IF get = 1 THEN DO
  1114. Filepfad = file.1
  1115.  
  1116. CALL TesteInfo
  1117.  
  1118. PosFilePath = LASTPOS('/',Filepfad)
  1119. IF (PosFilePath >= '1') THEN DO
  1120. ZieheAb = PosFilePath+1
  1121. Filename = SUBSTR(Filepfad,ZieheAb)
  1122. END
  1123. IF (PosFilePath = '0') THEN DO
  1124. PosFilePathN = LASTPOS(':',Filepfad)
  1125. Filename = DELSTR(Filepfad,1,PosFilePathN)
  1126. END
  1127.  
  1128. CALL TR_SETATTRIBUTE(window2, 1,'TROB_String', Filepfad)
  1129. CALL TR_SETATTRIBUTE(window2, 6,'TROB_String', Filename)
  1130. CALL TR_SETATTRIBUTE(window2,2,'TROB_String',Argumente)
  1131. CALL TR_SETATTRIBUTE(window2, 7,'TROB_String', Stack)
  1132. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Disabled','0')
  1133. CALL TR_SETATTRIBUTE(window2,8,'TRAT_Value','0')
  1134. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Value','0')
  1135. CALL TR_SETATTRIBUTE(window2,9,'TRAT_Disabled','0')
  1136. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Value','0')
  1137. CALL TR_SETATTRIBUTE(window2,10,'TRAT_Disabled','1')
  1138. END
  1139.  
  1140. RETURN
  1141.  
  1142.  
  1143. Fenster:
  1144. IF EXISTS('Ram:ENV/Triton/ProgrammManager.app') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.app TO SYS:Prefs/Env-Archive/Triton/'
  1145. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.1') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.1 TO SYS:Prefs/Env-Archive/Triton/'
  1146. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.2') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.2 TO SYS:Prefs/Env-Archive/Triton/'
  1147. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.3') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.3 TO SYS:Prefs/Env-Archive/Triton/'
  1148. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.4') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.4 TO SYS:Prefs/Env-Archive/Triton/'
  1149. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.5') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.5 TO SYS:Prefs/Env-Archive/Triton/'
  1150. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.6') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.6 TO SYS:Prefs/Env-Archive/Triton/'
  1151. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.7') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.7 TO SYS:Prefs/Env-Archive/Triton/'
  1152. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.10') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.10 TO SYS:Prefs/Env-Archive/Triton/'
  1153. IF EXISTS('Ram:ENV/Triton/ProgrammManager.win.8') THEN 'RUN >NIL: COPY Ram:ENV/Triton/ProgrammManager.win.8 TO SYS:Prefs/Env-Archive/Triton/'
  1154. RETURN
  1155.  
  1156.  
  1157. iconify:
  1158.  
  1159. FileAktiv = TR_GETATTRIBUTE(window,1,'TRAT_Value')
  1160.  
  1161. CALL TR_CLOSEPROJECT(window)
  1162. iconif:
  1163. windowtags = WindowID(10),
  1164. WindowPosition('TRWP_CENTERSCREEN') Aktiv PubScreenName(Pubscreen) WindowTitle('Prg.Manager'),
  1165. EndProject
  1166. appD = TR_CREATEAPP('TRCA_Name ProgrammManager')
  1167. IF appD ~= '00000000'x THEN DO
  1168. window10 = TR_OPENPROJECT(appD,windowtags)
  1169. IF window10 ~= '00000000'x THEN DO
  1170. Ausists = 0
  1171.  
  1172. DO WHILE Ausists ~= 1
  1173. CALL TR_WAIT(appD,'')
  1174. DO WHILE TR_HANDLEMSG(appD,'eventD')
  1175. IF eventD.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  1176. CALL TR_CLOSEPROJECT(window10)
  1177. CALL TR_DELETEAPP(appD)
  1178. Ausists = 1
  1179. IF (Iconmerker = 'Ein') THEN DO
  1180. DROP Iconmerker
  1181. Signal Start
  1182. END
  1183. window = TR_OPENPROJECT(app,windowtags1)
  1184. CALL GebeAttribute
  1185. RETURN
  1186. END
  1187. END
  1188. END
  1189. END
  1190.  
  1191. GebeAttribute:
  1192. DROP PubScreenSchalter
  1193. FileRech1 = FileAktiv+1
  1194. FileRech2 = FileAktiv
  1195.  
  1196. IF (FileAktiv = '-1') THEN DO 
  1197. FileRech1 = ''
  1198. FileRech2 = '0'
  1199. END
  1200.  
  1201. IF (Filename = 'FILENAME') THEN Filename = ''
  1202. IF (ProgrammNr = 'PROGRAMMNR') THEN ProgrammNr = ''
  1203.  
  1204. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text',Filename)
  1205. CALL TR_SETATTRIBUTE(window,15,'TRAT_VALUE',Auswahl)
  1206. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text',FileRech1)
  1207. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',FileRech2)
  1208.  
  1209. IF (Auswahl = '0') THEN DO
  1210. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',List.0)
  1211. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview',List)
  1212. END
  1213. IF (Auswahl = '1') THEN DO
  1214. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  1215. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview',ListNormal)
  1216. END
  1217. IF (Auswahl = '2') THEN DO
  1218. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  1219. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview',ListRexx)
  1220. END
  1221. IF (Auswahl = '3') THEN DO
  1222. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  1223. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview',ListScript)
  1224. END
  1225. IF (Auswahl = '4') THEN DO
  1226. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  1227. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview',ListGuide)
  1228. END
  1229.  
  1230. RETURN
  1231.  
  1232.  
  1233. About:
  1234.  
  1235. CALL TR_LOCKPROJECT(window)
  1236.  
  1237. windowtags = WindowID(4),
  1238. WindowPosition('TRWP_CENTERDISPLAY') FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle("Programmierer Info"),
  1239. 'HorizGroupA Space VertGroupA Space' NamedSeparator('Programmmanager v2.2') 'Space',
  1240. 'Space' CenteredText("© 1998") 'SpaceS',
  1241. CenteredText("by Reinhard Steinert") 'Space' 'Space',
  1242. NamedSeparator('Call the') 'Space',
  1243. CenteredText3("Jumbo  BBS") 'Space',
  1244. CenteredText("2:2490/1930.0@fidonet") 'Space',
  1245. CenteredText("99:4909/70.0@coconet") 'Space',
  1246. CenteredText("51:104/0.0@x-net") 'Space' 'Space',
  1247. NamedFrameBox('Dial this Numbers :') FarbeGruppe,
  1248. 'HorizGroupA Space VertGroupA Space' 'Space',
  1249. CenteredText("+49(0)911 - 2779781 for [X.75]") 'Space',
  1250. CenteredText("+49(0)911 - 2877204 for [X.75]") 'Space',
  1251. CenteredText("+49(0)911 -  265627 for [V.xx]") 'Space',
  1252. CenteredText("+49(0)911 - 2877204 for [V.xx]") 'Space',
  1253. 'Space' 'EndGroup Space EndGroup',
  1254. 'Space EndGroup Space EndGroup',
  1255.       'EndProject'
  1256. window4 = TR_OPENPROJECT(app,windowtags)
  1257. IF window4 ~= '00000000'x THEN DO
  1258. enda = 0
  1259. DO WHILE ~enda
  1260. CALL TR_WAIT(app,'')
  1261. DO WHILE TR_HANDLEMSG(app,'eventa')
  1262. IF eventa.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  1263. CALL TR_UNLOCKPROJECT(window)
  1264. enda = 1
  1265. END
  1266. END
  1267. END
  1268. CALL TR_CLOSEPROJECT(window4)
  1269. END
  1270. RETURN('')
  1271.  
  1272.  
  1273. Screen:
  1274.  
  1275. Publiste = PUBSCREENLIST('screenliste')
  1276.  
  1277. CALL TR_LOCKPROJECT(window3)
  1278.  
  1279. windowtags = WindowID(5),
  1280. WindowPosition('TRWP_CENTERSCREEN') FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Bildschirm    '),
  1281. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  1282. GroupBox FarbeGruppe,
  1283. 'HorizGroupAC' 'Space' 'VertGroupAC' 'Space',
  1284. ListSS(screenliste,1,0,-1) 'Space',
  1285. 'HorizGroupAC',
  1286. Button('_Abbrechen',2),
  1287. 'Space' 'EndGroup' 'Space' 'EndGroup',
  1288. 'EndGroup' 'Space' 'EndGroup' 'Space' 'EndGroup',
  1289. 'EndProject'
  1290.  
  1291. appP = Defaultapp
  1292.  
  1293. window5 = TR_OPENPROJECT(appP,windowtags)
  1294. IF window5 ~= '00000000'x THEN DO
  1295. endP = 0
  1296. DO WHILE ~endP
  1297. CALL TR_WAIT(appP,'')
  1298.  
  1299. DO WHILE TR_HANDLEMSG(appP,'eventP')
  1300.  
  1301. IF eventP.trm_class = 'TRMS_NEWVALUE' THEN DO
  1302. SELECT
  1303. WHEN eventP.trm_id = 1 THEN DO
  1304. PubNr = eventP.trm_data+1
  1305. PubscreenNeu = screenliste.PubNr
  1306. CALL TR_UNLOCKPROJECT(window3)
  1307. endP = 1
  1308. END
  1309. OTHERWISE;NOP
  1310. END
  1311. END
  1312.  
  1313. IF eventP.trm_class = 'TRMS_ACTION' THEN DO
  1314.  
  1315. IF eventP.trm_id = 2 THEN DO
  1316. CALL TR_UNLOCKPROJECT(window3)
  1317. endP = 1
  1318. END
  1319.  
  1320. END
  1321.  
  1322. IF eventP.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  1323. CALL TR_UNLOCKPROJECT(window3)
  1324. endP = 1
  1325. END
  1326. END
  1327. END
  1328. CALL TR_CLOSEPROJECT(window5)
  1329. END
  1330. RETURN
  1331.  
  1332.  
  1333. Schutz:
  1334.  
  1335. IF (Filename = 'FILENAME') THEN DO
  1336. CALL TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  1337. RETURN
  1338. END
  1339.  
  1340. schutzbits = GETPROTECTION(Filepfad)
  1341.  
  1342. PosScript = SUBSTR(schutzbits,2,1);PosRes = SUBSTR(schutzbits,3,1);PosArch = SUBSTR(schutzbits,4,1)
  1343. PosLes = SUBSTR(schutzbits,5,1);PosSchreib = SUBSTR(schutzbits,6,1);PosAus = SUBSTR(schutzbits,7,1)
  1344. Posloesch = SUBSTR(schutzbits,8,1)
  1345.  
  1346. IF (PosScript = 'S') THEN DO;script = CheckBoxCLEFT(1);Scripts = 'S';END
  1347. IF (PosScript = '-') THEN DO;script = CheckBoxLEFT(1);Scripts = '-';END
  1348. IF (PosRes = 'P') THEN DO;resi = CheckBoxCLEFT(2);Resident = 'P';END
  1349. IF (PosRes = '-') THEN DO;resi = CheckBoxLEFT(2);Resident = '-';END
  1350. IF (PosArch = 'A') THEN DO;Arch = CheckBoxCLEFT(3);Archiv = 'A';END
  1351. IF (PosArch = '-') THEN DO;Arch = CheckBoxLEFT(3);Archiv = '-';END
  1352. IF (PosLes = 'R') THEN DO;Lese = CheckBoxCLEFT(4);Lesen = 'R';END
  1353. IF (PosLes = '-') THEN DO;Lese = CheckBoxLEFT(4);Lesen = '-';END
  1354. IF (PosSchreib = 'W') THEN DO;Schreib = CheckBoxCLEFT(5);Schreiben = 'W';END
  1355. IF (PosSchreib = '-') THEN DO;Schreib = CheckBoxLEFT(5);Schreiben = '-';END
  1356. IF (PosAus = 'E') THEN DO;AusF = CheckBoxCLEFT(6);Ausfuehren = 'E';END
  1357. IF (PosAus = '-') THEN DO;AusF = CheckBoxLEFT(6);Ausfuehren = '-';END
  1358. IF (Posloesch = 'D') THEN DO;Loesch = CheckBoxCLEFT(7);Loeschen = 'D';END
  1359. IF (Posloesch = '-') THEN DO;Loesch = CheckBoxLEFT(7);Loeschen = '-';END
  1360.  
  1361. CALL TR_LOCKPROJECT(window)
  1362.  
  1363. windowtags = WindowID(6),
  1364. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('SchutzBits'),
  1365. 'HorizGroupA' 'Space' 'VertGroupAC' 'Space',
  1366. GroupBox FarbeGruppe,
  1367. 'HorizGroupA' 'Space' 'VertGroupAC' 'Space',
  1368. 'HorizGroupA' 'Space' 'Space' script TextID('      Scr_ipt',1) QuickHelp(Satz.50) 'Space' 'Space' 'EndGroup',
  1369. 'HorizGroupA' 'Space' 'Space' resi TextID('    _Resident',2) QuickHelp(Satz.51) 'Space' 'Space' 'EndGroup',
  1370. 'HorizGroupA' 'Space' 'Space' Arch TextID('  Archi_viert',3) QuickHelp(Satz.52) 'Space' 'Space' 'EndGroup',
  1371. 'HorizGroupA' 'Space' 'Space' Lese TextID('      _Lesbar',4) QuickHelp(Satz.53) 'Space' 'Space' 'EndGroup',
  1372. 'HorizGroupA' 'Space' 'Space' Schreib TextID('  S_chreibbar',5) QuickHelp(Satz.54) 'Space' 'Space' 'EndGroup',
  1373. 'HorizGroupA' 'Space' 'Space' AusF TextID('  A_usführbar',6) QuickHelp(Satz.55) 'Space' 'Space' 'EndGroup',
  1374. 'HorizGroupA' 'Space' 'Space' Loesch TextID('    Lösch_bar',7) QuickHelp(Satz.56) 'Space' 'Space' 'EndGroup',
  1375. 'Space' 'Space' 'HorizGroupAC' Button('_Abbruch',9) QuickHelp(Satz.57),
  1376. Button('_Setzen',10) QuickHelp(Satz.58) 'EndGroup',
  1377. 'Space' 'EndGroup' 'Space' 'EndGroup',
  1378. 'Space' 'EndGroup' 'Space' 'EndGroup',
  1379. EndProject
  1380.  
  1381. appSs = Defaultapp
  1382.  
  1383. window6 = TR_OPENPROJECT(appSs,windowtags)
  1384. IF window6 ~= '00000000'x THEN DO
  1385. Aussi = 0
  1386. DO WHILE ~Aussi
  1387. CALL TR_WAIT(appSs,'')
  1388.  
  1389. DO WHILE TR_HANDLEMSG(appSs,'eventSs')
  1390.  
  1391. IF eventSs.trm_class = 'TRMS_NEWVALUE' THEN DO
  1392. SELECT
  1393. WHEN eventSs.trm_id = 1 THEN DO
  1394. cripts = eventSs.trm_data
  1395. IF (cripts = '0') THEN Scripts = '-'
  1396. IF (cripts = '1') THEN Scripts = 'S'
  1397. END
  1398. WHEN eventSs.trm_id = 2 THEN DO
  1399. Residen = eventSs.trm_data
  1400. IF (Residen = '0') THEN Resident = '-'
  1401. IF (Residen = '1') THEN Resident = 'P'
  1402. END
  1403. WHEN eventSs.trm_id = 3 THEN DO
  1404. Archi = eventSs.trm_data
  1405. IF (Archi = '0') THEN Archiv = '-'
  1406. IF (Archi = '1') THEN Archiv = 'A'
  1407. END
  1408. WHEN eventSs.trm_id = 4 THEN DO
  1409. Leser = eventSs.trm_data
  1410. IF (Leser = '0') THEN Lesen = '-'
  1411. IF (Leser = '0') THEN Lesen = 'R'
  1412. END
  1413. WHEN eventSs.trm_id = 5 THEN DO
  1414. chreiben = eventSs.trm_data
  1415. IF (chreiben = '0') THEN Schreiben = '-'
  1416. IF (chreiben = '1') THEN Schreiben = 'W'
  1417. END
  1418. WHEN eventSs.trm_id = 6 THEN DO
  1419. Ausfuehr = eventSs.trm_data
  1420. IF (Ausfuehr = '0') THEN Ausfuehren = '-'
  1421. IF (Ausfuehr = '1') THEN Ausfuehren = 'E'
  1422. END
  1423. WHEN eventSs.trm_id = 7 THEN DO
  1424. oeschen = eventSs.trm_data
  1425. IF (oeschen = '0') THEN Loeschen = '-'
  1426. IF (oeschen = '1') THEN Loeschen = 'D'
  1427. END
  1428. OTHERWISE NOP
  1429. END
  1430. END
  1431. IF eventSs.trm_class = 'TRMS_ACTION' THEN DO
  1432. IF eventSs.trm_id = 9 THEN DO
  1433. CALL TR_UNLOCKPROJECT(window)
  1434. Aussi = 1
  1435. END
  1436. IF eventSs.trm_id = 10 THEN DO
  1437. SetzBits = SETPROTECTION(Filepfad,'-'Scripts''Resident''Archiv''Lesen''Schreiben''Ausfuehren''Loeschen)
  1438. CALL TR_UNLOCKPROJECT(window)
  1439. Aussi = 1
  1440. END
  1441. END
  1442. IF eventSs.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  1443. CALL TR_UNLOCKPROJECT(window)
  1444. Aussi = 1
  1445. END
  1446. END;END
  1447. CALL TR_CLOSEPROJECT(window6)
  1448. END
  1449. RETURN('')
  1450.  
  1451.  
  1452. Kommentar:
  1453.  
  1454. IF (Filename = 'FILENAME') THEN DO
  1455. CALL TR_EASYREQUEST(app,' Du musst zuerst ein Programm auswählen ! ','_Das klingt logisch','TREZ_LockProject' C2D(window) 'TAG_END')
  1456. RETURN
  1457. END
  1458.  
  1459. kommentar = GETCOMMENT(Filepfad)
  1460. CALL TR_LOCKPROJECT(window)
  1461.  
  1462. windowtags =   WindowID(7),
  1463. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Dateikommentar'),
  1464. 'HorizGroupAC' 'Space' 'VertGroup' 'Space',
  1465. GroupBox FarbeGruppe,
  1466. 'HorizGroupAC' 'Space' 'VertGroup' 'Space',
  1467. Text3('Dateikommentar einfügen / ändern :') 'Space',
  1468. 'VertGroupAC' StringGadget('',2) 'TRAT_Value 80' QuickHelp(Satz.59) 'Space',
  1469. 'HorizGroupAC' Button('_Abrechen',1) QuickHelp(Satz.60) 'Space' Button('_Einfügen',3) QuickHelp(Satz.61),
  1470. 'VertGroupAC' TextN('                                              ') 'EndGroup',
  1471. 'Space' 'EndGroup' 'Space' 'EndGroup',
  1472. 'EndGroup' 'Space' 'EndGroup' 'Space' 'EndGroup' 'Space' 'EndGroup',
  1473. EndProject
  1474.  
  1475. appDa = Defaultapp
  1476. window7 = TR_OPENPROJECT(appDa,windowtags)
  1477. IF window7 ~= '00000000'x THEN DO
  1478. endeDa = 0
  1479. CALL TR_SETATTRIBUTE(window7, 2,'TROB_String',kommentar)
  1480. DO WHILE endeDa ~= 1
  1481. CALL TR_WAIT(appDa,'')
  1482. DO WHILE TR_HANDLEMSG(appDa,'eventDa')
  1483. IF eventDa.trm_class = 'TRMS_NEWVALUE' THEN DO
  1484. SELECT
  1485. WHEN eventDa.trm_id = 2 THEN kommentar = TR_GETATTRIBUTE(window7,2,'TROB_String')
  1486. OTHERWISE;NOP
  1487. END
  1488. END
  1489. IF eventDa.trm_class = 'TRMS_ACTION' THEN DO
  1490. IF eventDa.trm_id = 1 THEN DO
  1491. CALL TR_UNLOCKPROJECT(window)
  1492. endeDa = 1
  1493. END
  1494. IF eventDa.trm_id = 3 THEN DO
  1495. CALL TR_UNLOCKPROJECT(window)
  1496. CALL SETCOMMENT(Filepfad,kommentar)
  1497. endeDa = 1
  1498. END
  1499. END
  1500. IF eventDa.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  1501. CALL TR_UNLOCKPROJECT(window)
  1502. endeDa = 1
  1503. END
  1504. END
  1505. END
  1506. CALL TR_CLOSEPROJECT(window7)
  1507. END
  1508. RETURN('')
  1509.  
  1510.  
  1511. UseIt:
  1512.  
  1513. IF (ChangeMerker = '1') THEN Signal Zurueck
  1514.  
  1515. IF (Con = 'CON') THEN Con = 0
  1516. IF (PrgStart = 'PRGSTART') THEN PrgStart = 0
  1517. IF (Argumente = 'ARGUMENTE') THEN Argumente = ''
  1518. Filename = TRANSLATE(Filename,'_',' ')
  1519. NeueZeile = Filename'   'Stack'   'Con'   'PrgStart'   'Filepfad' 'Argumente
  1520. NeueZeile = STRIP(NeueZeile)
  1521.  
  1522. IF (ChangeMerker = '1') THEN WegDam = STEMREMOVE('Zeile',ProgrammNr)
  1523.  
  1524. IF (Zeile.0 = '0') THEN DO
  1525. Zeile.0 = '1'
  1526. Zeile.1 = NeueZeile
  1527. MerkEs = 'Ein'
  1528. END
  1529.  
  1530. IF ~(MerkEs = 'Ein') THEN NeuKonl = STEMINSERT('Zeile',1,1,NeueZeile)
  1531. IF ~(MerkEs = 'Ein') THEN Sortieren = QSORT('Zeile',,,'NOCASE',)
  1532.  
  1533. CALL InitZeile
  1534. CALL TestePrgStart
  1535. CALL InitialListFenster
  1536. CALL WieIstDieAuswahl
  1537.  
  1538.  
  1539. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  1540. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  1541. CALL TR_SETATTRIBUTE(window,10,'TRAT_Text','')
  1542. DROP MerkEs;DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  1543. BenutzerMerker = 'Ein'
  1544.  
  1545. RETURN
  1546.  
  1547.  
  1548. WieIstDieAuswahl:
  1549.  
  1550. IF (Auswahl = '0') THEN DO
  1551. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',List.0)
  1552. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','List')
  1553. END
  1554.  
  1555. IF (Auswahl = '1')&(PrgStart = '0') THEN DO
  1556. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListNormal')
  1557. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  1558. END
  1559.  
  1560. IF (Auswahl = '2')&(PrgStart = '1') THEN DO
  1561. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListRexx')
  1562. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  1563. END
  1564.  
  1565. IF (Auswahl = '3')&(PrgStart = '2') THEN DO
  1566. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListScript')
  1567. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  1568. END
  1569.  
  1570. IF (Auswahl = '4')&(PrgStart = '3') THEN DO
  1571. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListGuide')
  1572. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  1573. END
  1574.  
  1575. RETURN
  1576.  
  1577.  
  1578. TestePrgStart:
  1579.  
  1580. IF (PrgStart = '0') THEN DO
  1581. IF NormalPrg.0 = 0 THEN DO
  1582. NormalPrg.0 = '1'
  1583. NormalPrg.1 = NeueZeile
  1584. MerkEs = 'Ein'
  1585. END
  1586. IF ~(MerkEs = 'Ein') THEN Neu = STEMINSERT('NormalPrg',1,1,NeueZeile)
  1587. IF ~(MerkEs = 'Ein') THEN Sortieren1 = QSORT('NormalPrg',,,'NOCASE',)
  1588. END 
  1589.  
  1590. if (PrgStart = '1') THEN DO
  1591. IF RexxPrg.0 = 0 THEN DO
  1592. RexxPrg.0 = '1'
  1593. RexxPrg.1 = NeueZeile
  1594. MerkEs = 'Ein'
  1595. END
  1596. IF ~(MerkEs = 'Ein') THEN Neu = STEMINSERT('RexxPrg',1,1,NeueZeile)
  1597. IF ~(MerkEs = 'Ein') THEN Sortieren1 = QSORT('RexxPrg',,,'NOCASE',)
  1598. END
  1599.  
  1600. IF (PrgStart = '2') THEN DO
  1601. IF ScriptPrg.0 = 0 THEN DO
  1602. ScriptPrg.0 = '1'
  1603. ScriptPrg.1 = NeueZeile
  1604. MerkEs = 'Ein'
  1605. END
  1606. IF ~(MerkEs = 'Ein') THEN Neu = STEMINSERT('ScriptPrg',1,1,NeueZeile)
  1607. IF ~(MerkEs = 'Ein') THEN Sortieren1 = QSORT('ScriptPrg',,,'NOCASE',)
  1608. END
  1609.  
  1610. IF (PrgStart = '3') THEN DO
  1611. IF GuidePrg.0 = 0 THEN DO
  1612. GuidePrg.0 = '1'
  1613. GuidePrg.1 = NeueZeile
  1614. MerkEs = 'Ein'
  1615. END
  1616. IF ~(MerkEs = 'Ein') THEN Neu = STEMINSERT('GuidePrg',1,1,NeueZeile)
  1617. IF ~(MerkEs = 'Ein') THEN Sortieren1 = QSORT('GuidePrg',,,'NOCASE',)
  1618. END
  1619.  
  1620. Drop MerkEs
  1621. RETURN
  1622.  
  1623.  
  1624. InitialListFenster:
  1625.  
  1626. IF (PrgStart = '0')|(PrgStartAlt = '0') THEN DO
  1627. DO T = 1 TO NormalPrg.0
  1628. ListNormal.T = WORD(NormalPrg.T,1)
  1629. StackNormal.T = WORD(NormalPrg.T,2)
  1630. ConNormal.T = WORD(NormalPrg.T,3)
  1631. PrgStartNormal.T = WORD(NormalPrg.T,4)
  1632. END
  1633. ListNormal.0 = NormalPrg.0
  1634. END
  1635.  
  1636. IF (PrgStart = '1')|(PrgStartAlt = '1') THEN DO
  1637. DO T = 1 TO RexxPrg.0
  1638. ListRexx.T = WORD(RexxPrg.T,1)
  1639. StackRexx.T = WORD(RexxPrg.T,2)
  1640. ConRexx.T = WORD(RexxPrg.T,3)
  1641. PrgStartRexx.T = WORD(RexxPrg.T,4)
  1642. END
  1643. ListRexx.0 = RexxPrg.0
  1644. END
  1645.  
  1646. IF (PrgStart = '2')|(PrgStartAlt = '2') THEN DO
  1647. DO T = 1 TO ScriptPrg.0
  1648. ListScript.T = WORD(ScriptPrg.T,1)
  1649. StackScript.T = WORD(ScriptPrg.T,2)
  1650. ConScript.T = WORD(ScriptPrg.T,3)
  1651. PrgStartScript.T = WORD(ScriptPrg.T,4)
  1652. END
  1653. ListScript.0 = ScriptPrg.0
  1654. END
  1655.  
  1656. IF (PrgStart = '3')|(PrgStartAlt = '3') THEN DO
  1657. DO T = 1 TO GuidePrg.0
  1658. ListGuide.T = WORD(GuidePrg.T,1)
  1659. StackGuide.T = WORD(GuidePrg.T,2)
  1660. ConGuide.T = WORD(GuidePrg.T,3)
  1661. PrgStartGuide.T = WORD(GuidePrg.T,4)
  1662. END
  1663. ListGuide.0 = GuidePrg.0
  1664. END
  1665.  
  1666. RETURN
  1667.  
  1668.  
  1669.  
  1670. LeseKonfiguration:
  1671.  
  1672. ZaehlerScript = '1'
  1673. ZaehlerRexx = '1'
  1674. ZaehlerPrg = '1'
  1675. ZaehlerGuide = '1'
  1676.  
  1677. LeseKon = READFILE(Pfad'Programmmanager.txt','Zeile')
  1678.  
  1679. DO i = 1 TO Zeile.0
  1680.  
  1681.  List.i = WORD(Zeile.i,1)
  1682.  Stack.i = WORD(Zeile.i,2)
  1683.  Con.i = WORD(Zeile.i,3)
  1684.  PrgStart.i = WORD(Zeile.i,4)
  1685.  
  1686.  IF (PrgStart.i = '3') THEN DO
  1687.  
  1688.  GuidePrg.ZaehlerGuide = Zeile.i
  1689.  ListGuide.ZaehlerGuide = List.i
  1690.  StackGuide.ZaehlerGuide = Stack.i
  1691.  ConGuide.ZaehlerGuide = Con.i
  1692.  PrgStartGuide.ZaehlerGuide = '3'
  1693.  ZaehlerGuide = ZaehlerGuide+1
  1694.  END
  1695.  
  1696.  IF (PrgStart.i = '2') THEN DO
  1697.  
  1698.  ScriptPrg.ZaehlerScript = Zeile.i 
  1699.  ListScript.ZaehlerScript = List.i
  1700.  StackScript.ZaehlerScript = Stack.i
  1701.  ConScript.ZaehlerScript = Con.i
  1702.  PrgStartScript.ZaehlerScript = '2'
  1703.  ZaehlerScript = ZaehlerScript+1
  1704.  END
  1705.  
  1706.  
  1707.  IF (PrgStart.i = '1') THEN DO
  1708.  
  1709.  RexxPrg.ZaehlerRexx = Zeile.i
  1710.  ListRexx.ZaehlerRexx = List.i
  1711.  StackRexx.ZaehlerRexx = Stack.i
  1712.  ConRexx.ZaehlerRexx = Con.i
  1713.  PrgStartRexx.ZaehlerRexx = '1'
  1714.  ZaehlerRexx = ZaehlerRexx+1
  1715.  END
  1716.  
  1717.  IF (PrgStart.i = '0') THEN DO
  1718.  
  1719.  NormalPrg.ZaehlerPrg = Zeile.i
  1720.  ListNormal.ZaehlerPrg = List.i
  1721.  StackNormal.ZaehlerPrg = Stack.i
  1722.  ConNormal.ZaehlerPrg = Con.i
  1723.  PrgStartNormal.ZaehlerPrg = '0'
  1724.  ZaehlerPrg = ZaehlerPrg+1
  1725.  END
  1726.  
  1727. END
  1728.  
  1729. List.0 = Zeile.0
  1730.  
  1731. ListNormal.0 = ZaehlerPrg-1
  1732. ListRexx.0 = ZaehlerRexx-1
  1733. ListScript.0 = ZaehlerScript-1
  1734. ListGuide.0 = ZaehlerGuide-1
  1735.  
  1736. ScriptPrg.0 = ZaehlerScript-1
  1737. RexxPrg.0 = ZaehlerRexx-1
  1738. NormalPrg.0 = ZaehlerPrg-1
  1739. GuidePrg.0 = ZaehlerGuide-1
  1740.  
  1741. RETURN
  1742.  
  1743.  
  1744. SucheArgumente:
  1745.  
  1746. Prglang = LENGTH(Filename)
  1747. Stcklang = LENGTH(Stack)
  1748. Prglang = (Prglang)+(Stcklang+13)
  1749. RestZeile = SUBSTR(ZeileR,Prglang)
  1750. Filepfad = STRIP(RestZeile)
  1751. SucheArg = POS(' ',Filepfad)
  1752. IF (SucheArg = '0') THEN Argumente = ''
  1753. IF (SucheArg >= '1') THEN DO
  1754. Argumente = SUBSTR(Filepfad,(SucheArg+1))
  1755. Filepfad = DELSTR(Filepfad,SucheArg)
  1756. END
  1757.  
  1758. RETURN
  1759.  
  1760.  
  1761. Einstellungen:
  1762.  
  1763. SchriftAlt.ta_name = Schrift.ta_name
  1764. SchriftAlt.ta_ysize = Schrift.ta_ysize
  1765. SchriftAlt.ta_style = Schrift.ta_style
  1766. SchriftNameAlt = SchriftName
  1767. TextEdNameAlt = TextEdName
  1768. TextEdPfadAlt = TextEdPfad
  1769. HexEdNameAlt = HexEdName
  1770. HexEdPfadAlt = HexEdPfad
  1771.  
  1772. Con1Alt = Con1
  1773. Con2Alt = Con2
  1774. Con3Alt = Con3
  1775. Con4Alt = Con4
  1776.  
  1777. FensterTitelAlt = FensterTitel
  1778. ProgrammTypAlt = ProgrammTyp
  1779. StarticonAlt = Starticon
  1780. deviceAlt = device
  1781. PubscreenAlt = Pubscreen
  1782. HilfeStartNrAlt = HilfeStartNr
  1783. HilfeNameAlt = HilfeName
  1784.  
  1785. CALL TR_LOCKPROJECT(window)
  1786.  
  1787. windowtags = WindowID(3),
  1788. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Einstellungen'),
  1789. 'HorizGroup' 'Space' 'VertGroupA' 'Space',
  1790. GroupBox FarbeGruppe,
  1791. 'HorizGroupEC' 'Space' 'Space' 'VertGroupA' 'Space' 'Space',
  1792. TextH('Konsoleneinstellung') 'Space' 'Space' 'Space' TextN('X - Position') 'Space',
  1793. 'HorizGroupEC' SliderGadget(0,900,Con1,8) QuickHelp(Satz.15) 'Space',
  1794. ClippedTextBoxMW(Con1,9,4) 'Space' 'EndGroup',
  1795. 'VertGroupA' 'Space' TextN('Y - Position') 'Space' 'EndGroup',
  1796. 'HorizGroupEC' SliderGadget(0,900,Con2,10) QuickHelp(Satz.16) 'Space' ClippedTextBoxMW(Con2,11,4) 'Space' 'EndGroup',
  1797. 'VertGroupA' 'Space' TextN('Breite') 'Space' 'EndGroup',
  1798. 'HorizGroupEC' SliderGadget(100,1200,Con3,12) QuickHelp(Satz.17) 'Space',
  1799. ClippedTextBoxMW(Con3,13,4) 'Space' 'EndGroup',
  1800. 'VertGroupA' 'Space' TextN('Höhe') 'Space' 'EndGroup',
  1801. 'HorizGroupEC' SliderGadget(50,900,Con4,14) QuickHelp(Satz.18) 'Space',
  1802. ClippedTextBoxMW(Con4,15,4) 'Space' 'EndGroup',
  1803. 'VertGroupA' 'Space' 'Space' 'Space' 'Space' TextH('Fenstertitel') 'Space' 'EndGroup',
  1804. 'HorizGroupEC' StringGadget(FensterTitel,16) 'TRAT_Value 1024' 'Space' 'EndGroup',
  1805. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup' 'Space' 'EndGroup',
  1806. 'HorizGroup' 'Space' 'VertGroup' 'Space',
  1807. GroupBox FarbeGruppe,
  1808. 'HorizGroup' 'Space' 'Space' 'VertGroupA' 'Space' 'Space',
  1809. TextH('Programmauswahl Neustart') 'Space',
  1810. 'HorizGroup' 'SpaceB' 'SpaceB' 'SpaceB' 'SpaceB' 'SpaceB' 'SpaceB' 'SpaceB' 'VertGroupA' 'Space',
  1811. MXGadget('ProgrammTyp',ProgStartNr,2) QuickHelp(Satz.19''CR''Satz.20) 'Space' 'Space',
  1812. ClippedTextBox(ProgrammTypName,1) 'Space' 'Space' 'EndGroup' 'EndGroup',
  1813. 'HorizGroupAC' TextH('Text-Editor') 'Space' 'EndGroup' 'Space',
  1814. 'HorizGroupAC' GetFileButton(22) QuickHelp(Satz.21) StringGadget(TextEdName,23) 'TRAT_Value 1024' 'EndGroup' 'Space' 'Space',
  1815. 'HorizGroupAC' TextH('Hex-Editor') 'EndGroup' 'Space',
  1816. 'HorizGroupAC' GetFileButton(24) QuickHelp(Satz.22) StringGadget(HexEdName,25) 'TRAT_Value 1024' 'EndGroup',
  1817. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup' 'SpaceS' 'Space',
  1818. 'HorizGroupAC' Button('_Sichern',26) QuickHelp(Satz.24),
  1819. Button('_Ende',27) QuickHelp(Satz.25) Button('_Benützen',28) QuickHelp(Satz.26) 'EndGroup',
  1820. 'EndGroup',
  1821. 'HorizGroup' 'Space' 'VertGroup' 'Space',
  1822. GroupBox FarbeGruppe,
  1823. 'HorizGroupAC' 'Space' 'Space' 'VertGroupA' 'Space' 'Space',
  1824. TextH('Programmstart') 'Space',
  1825. 'Space' MXGadget('Starticon',Icon,3) QuickHelp(Satz.23) 'Space' ClippedTextBox(StarticonName,4) 'Space' 'Space',
  1826. TextH('Dateipfad') 'Space',
  1827. 'HorizGroupAC' GetDrawerButton(7) QuickHelp(Satz.27''CR''Satz.28),
  1828. ClippedTextBox(device,6) 'EndGroup' 'Space' 'Space',
  1829. 'HorizGroup' TextH('Pubscreen') 'EndGroup' 'Space',
  1830. 'HorizGroupAC' GetEntryButton(17) QuickHelp(Satz.29) ClippedTextBox(Pubscreen,18) 'EndGroup' 'Space' 'Space',
  1831. 'HorizGroup' TextH('Fontauswahl') 'EndGroup' 'Space',
  1832. 'HorizGroupAC' GetEntryButton(19) QuickHelp(Satz.30) ClippedTextBox(SchriftName,40),
  1833. ClippedTextBoxMW(Schrift.ta_ysize,41,3) 'EndGroup' 'Space' 'Space',
  1834. 'HorizGroupEC' TextH('Hilfe ') 'Space' CycleGadget('Hilfe',HilfeStartNr,20) QuickHelp(Satz.31),
  1835. ClippedTextBoxMW(HilfeName,21,4) 'EndGroup',
  1836. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup',
  1837. 'EndGroup' 'Space' 'EndGroup' 'EndGroup',
  1838. 'EndGroup',
  1839. 'EndProject'
  1840.  
  1841.  
  1842. window3 = TR_OPENPROJECT(app,windowtags)
  1843. IF window3 ~= '00000000'x THEN DO
  1844. Aus = 0
  1845. DO WHILE Aus ~= 1
  1846.  
  1847.  
  1848. CALL TR_WAIT(app,'')
  1849.  
  1850. DO WHILE TR_HANDLEMSG(app,'eventr')
  1851.  
  1852. IF eventr.trm_class = 'TRMS_NEWVALUE' THEN DO
  1853.  
  1854. SELECT
  1855.  
  1856. WHEN eventr.trm_id = 2 THEN DO
  1857. ProgStartNr = eventr.trm_data
  1858. StartRe = eventr.trm_data+1
  1859.  
  1860. ProgrammTypName = ProgrammTyp.StartRe
  1861. CALL TR_SETATTRIBUTE(window3,1,'TRAT_Text',ProgrammTypName)
  1862. END
  1863. WHEN eventr.trm_id = 3 THEN DO
  1864. Icon = eventr.trm_data
  1865. StartReIcon = eventr.trm_data+1
  1866.  
  1867. StarticonName = Starticon.StartReIcon
  1868. CALL TR_SETATTRIBUTE(window3,4,'TRAT_Text',StarticonName)
  1869. END
  1870. WHEN eventr.trm_id = 8 THEN DO
  1871. Con1 = eventr.trm_data
  1872. CALL TR_SETATTRIBUTE(window3,9,'TRAT_Text',Con1)
  1873. END
  1874. WHEN eventr.trm_id = 10 THEN DO
  1875. Con2 = eventr.trm_data
  1876. CALL TR_SETATTRIBUTE(window3,11,'TRAT_Text',Con2)
  1877. END
  1878. WHEN eventr.trm_id = 12 THEN DO
  1879. Con3 = eventr.trm_data
  1880. CALL TR_SETATTRIBUTE(window3,13,'TRAT_Text',Con3)
  1881. END
  1882. WHEN eventr.trm_id = 14 THEN DO
  1883. Con4 = eventr.trm_data
  1884. CALL TR_SETATTRIBUTE(window3,15,'TRAT_Text',Con4)
  1885. END
  1886.  
  1887. WHEN eventr.trm_id = 20 THEN DO
  1888. HilfeStartNr = eventr.trm_data
  1889. HilfeStartRe = eventr.trm_data+1
  1890.  
  1891. HilfeName = Hilfe.HilfeStartRe
  1892. CALL TR_SETATTRIBUTE(window3,21,'TRAT_Text',HilfeName)
  1893. END
  1894.  
  1895.  
  1896. WHEN eventr.trm_id = 23 THEN TextEdName = TR_GETATTRIBUTE(window3,23,'TROB_String')
  1897. WHEN eventr.trm_id = 25 THEN HexEdName = TR_GETATTRIBUTE(window3,25,'TROB_String')
  1898. WHEN eventr.trm_id = 16 THEN DO
  1899. FensterTitel = TR_GETATTRIBUTE(window3,16,'TROB_String')
  1900. FensterTitel = TRANSLATE(FensterTitel,'_',' ')
  1901. END
  1902.  
  1903. OTHERWISE;NOP
  1904. END
  1905.  
  1906. END
  1907.  
  1908.  
  1909. IF eventr.trm_class = 'TRMS_ACTION' THEN DO
  1910.  
  1911. IF eventr.trm_id = 7 THEN DO
  1912. Filestart = ASL_REQUESTFILE(window3,'deviceNeu',GetDrawer('Dateipfad','Fertig',device) 'ASLFR_PubScreenName' Pubscreen)
  1913. IF (Filestart = '1') THEN device = deviceNeu.1
  1914. IF (Filestart = '0') THEN device = device
  1915. CALL TR_SETATTRIBUTE(window3,6,'TRAT_Text',device)
  1916. END
  1917.  
  1918. IF eventr.trm_id = 17 THEN DO
  1919. CALL Screen
  1920. IF (PubscreenNeu = 'PUBSCREENNEU') THEN PubscreenNeu = PubscreenAlt
  1921. CALL TR_SETATTRIBUTE(window3,18,'TRAT_Text',PubscreenNeu)
  1922. END
  1923.  
  1924.  
  1925.  
  1926. IF eventr.trm_id = 19 THEN DO
  1927.  
  1928. Fontauswahl = ASL_RequestFont(window3,'Schriften',GetFont('Fontauswahl','Fertig',Schriften.ta_name,Schrift.ta_ysize) 'ASLFO_PubScreenName' Pubscreen 'TAG_END')
  1929.  
  1930. Schrift.0 = '3'
  1931. Schrift.ta_name = Schriften.ta_name
  1932. Schrift.ta_ysize = Schriften.ta_ysize
  1933. Schrift.ta_style = Schriften.ta_style
  1934.  
  1935. Schriftlaenge = LENGTH(Schrift.ta_name)
  1936. SchriftLang = Schriftlaenge-5
  1937. SchriftName = SUBSTR(Schrift.ta_name,1,SchriftLang)
  1938.  
  1939. IF (Fontauswahl = '0') THEN DO
  1940. Schrift.ta_name = SchriftAlt.ta_name
  1941. Schrift.ta_ysize = SchriftAlt.ta_ysize
  1942. Schrift.ta_style = SchriftAlt.ta_style
  1943. SchriftName = SchriftNameAlt
  1944. END
  1945. CALL TR_SETATTRIBUTE(window3,40,'TRAT_Text',SchriftName)
  1946. CALL TR_SETATTRIBUTE(window3,41,'TRAT_Text',Schrift.ta_ysize)
  1947. END
  1948.  
  1949.  
  1950. IF eventr.trm_id = 22 THEN DO
  1951.  
  1952. TextEdi = ASL_REQUESTFILE(window3, 'TextEd', LoadFile('Wähle einen Text-Editor aus','Fertig',TextEdPfad,'') 'ASLFR_PubScreenName' Pubscreen)
  1953.  
  1954. TextEditor = TextEd.1
  1955. TextEdPfad = PATHPART(TextEditor)
  1956. TextEdName = FILEPART(TextEditor)
  1957.  
  1958. IF (TextEdi = '0') THEN DO
  1959. TextEdName = TextEdNameAlt
  1960. TextEdPfad = TextEdPfadAlt
  1961. END
  1962. CALL TR_SETATTRIBUTE(window3,23,'TROB_String',TextEdName)
  1963. END
  1964.  
  1965. IF eventr.trm_id = 24 THEN DO
  1966.  
  1967. HexEdi = ASL_REQUESTFILE(window3, 'HexEd', LoadFile('Wähle einen Hex-Editor aus','Fertig',HexEdPfad,'') 'ASLFR_PubScreenName' Pubscreen)
  1968.  
  1969. HexEditor = HexEd.1
  1970. HexEdPfad = PATHPART(HexEditor)
  1971. HexEdName = FILEPART(HexEditor)
  1972.  
  1973. IF (HexEdi = '0') THEN DO
  1974. HexEdName = HexEdNameAlt
  1975. HexEdPfad = HexEdPfadAlt
  1976. END
  1977.  
  1978. CALL TR_SETATTRIBUTE(window3,25,'TROB_String',HexEdName)
  1979. END
  1980.  
  1981. IF eventr.trm_id = 26 THEN DO
  1982. IF (PubscreenNeu = 'PUBSCREENNEU') THEN PubscreenNeu = Pubscreen
  1983. IF ~(PubscreenAlt = PubscreenNeu)|~(SchriftName = SchriftNameAlt)|~(Schrift.ta_ysize = SchriftAlt.ta_ysize) THEN DO
  1984. PubScreenSchalter = 'Ein'
  1985. Pubscreen = PubscreenNeu
  1986. CALL Konfigliste
  1987. CALL TR_UNLOCKPROJECT(window)
  1988. FileAktiv = TR_GETATTRIBUTE(window,1,'TRAT_Value')
  1989. CALL TR_CLOSEPROJECT(window)
  1990. CALL TR_CLOSEPROJECT(window3)
  1991. Aus = 1
  1992. CALL PUBSCREENTOFRONT(Pubscreen)
  1993. SchreibeKonfig3 = WRITEFILE(Pfad'PrgManager.config',Konfigliste)
  1994. Signal Hauptfenster
  1995. END
  1996. Pubscreen = PubscreenNeu
  1997. CALL Konfigliste
  1998. SchreibeKonfig5 = WRITEFILE(Pfad'PrgManager.config',Konfigliste)
  1999. CALL TR_UNLOCKPROJECT(window)
  2000. IF (HilfeStartNr = '0') THEN DO
  2001. HilfeName = 'Ein'
  2002. HelpMe = QuickHelpOn('1')
  2003. END
  2004. IF (HilfeStartNr = '1') THEN DO
  2005. HilfeName = 'Aus'
  2006. HelpMe = QuickHelpOn('0')
  2007. END
  2008. CALL TR_SETATTRIBUTE(window,0,'TRWI_QuickHelp',HilfeStartNr-1)
  2009. Aus = 1
  2010. END
  2011.  
  2012. IF eventr.trm_id = 27 THEN DO
  2013. Con1 = Con1Alt
  2014. Con2 = Con2Alt
  2015. Con3 = Con3Alt
  2016. Con4 = Con4Alt
  2017. FensterTitel = FensterTitelAlt
  2018. ProgrammTyp = ProgrammTypAlt
  2019. Starticon = StarticonAlt
  2020. device = deviceAlt
  2021. HilfeStartNr = HilfeStartNrAlt
  2022. HilfeName = HilfeNameAlt
  2023. Pubscreen = PubscreenAlt
  2024. Schrift.ta_name = SchriftAlt.ta_name
  2025. Schrift.ta_ysize = SchriftAlt.ta_ysize
  2026. Schrift.ta_style = SchriftAlt.ta_style
  2027. SchriftName = SchriftNameAlt
  2028. TextEdName = TextEdNameAlt
  2029. TextEdPfad = TextEdPfadAlt
  2030. HexEdName = HexEdNameAlt
  2031. HexEdPfad = HexEdPfadAlt
  2032. CALL TR_UNLOCKPROJECT(window)
  2033. Aus = 1
  2034. END
  2035.  
  2036.  
  2037. IF eventr.trm_id = 28 THEN DO
  2038.  
  2039. IF (PubscreenNeu = 'PUBSCREENNEU') THEN PubscreenNeu = Pubscreen
  2040.  
  2041. IF ~(PubscreenAlt = PubscreenNeu)|~(SchriftName = SchriftNameAlt)|~(Schrift.ta_ysize = SchriftAlt.ta_ysize) THEN DO
  2042. PubScreenSchalter = 'Ein'
  2043. Pubscreen = PubscreenNeu
  2044. CALL TR_UNLOCKPROJECT(window)
  2045. FileAktiv = TR_GETATTRIBUTE(window,1,'TRAT_Value')
  2046. CALL TR_CLOSEPROJECT(window)
  2047. CALL TR_CLOSEPROJECT(window3)
  2048. Aus = 1
  2049. CALL PUBSCREENTOFRONT(Pubscreen)
  2050. Signal Hauptfenster
  2051. END
  2052.  
  2053. CALL TR_UNLOCKPROJECT(window)
  2054. IF (HilfeStartNr = '0') THEN DO
  2055. HilfeName = 'Ein'
  2056. HelpMe = QuickHelpOn('1')
  2057. END
  2058. IF (HilfeStartNr = '1') THEN DO
  2059. HilfeName = 'Aus'
  2060. HelpMe = QuickHelpOn('0')
  2061. END
  2062. CALL TR_SETATTRIBUTE(window,0,'TRWI_QuickHelp',HilfeStartNr-1)
  2063. Aus = 1
  2064. END
  2065.  
  2066.  
  2067. END
  2068.  
  2069. IF eventr.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  2070. Con1 = Con1Alt
  2071. Con2 = Con2Alt
  2072. Con3 = Con3Alt
  2073. Con4 = Con4Alt
  2074. FensterTitel = FensterTitelAlt
  2075. ProgrammTyp = ProgrammTypAlt
  2076. Starticon = StarticonAlt
  2077. device = deviceAlt
  2078. Pubscreen = PubscreenAlt
  2079. HilfeStartNr = HilfeStartNrAlt
  2080. HilfeName = HilfeNameAlt
  2081. Schrift.ta_name = SchriftAlt.ta_name
  2082. Schrift.ta_ysize = SchriftAlt.ta_ysize
  2083. Schrift.ta_style = SchriftAlt.ta_style
  2084. SchriftName = SchriftNameAlt
  2085. TextEdName = TextEdNameAlt
  2086. TextEdPfad = TextEdPfadAlt
  2087. HexEdName = HexEdNameAlt
  2088. HexEdPfad = HexEdPfadAlt
  2089. CALL TR_UNLOCKPROJECT(window)
  2090. Aus = 1
  2091. END
  2092.  
  2093. END
  2094. END
  2095. CALL TR_CLOSEPROJECT(window3)
  2096. END
  2097.  
  2098. RETURN
  2099.  
  2100.  
  2101. Konfigliste:
  2102. Konfigliste.0 = '8'
  2103. Konfigliste.1 = Con1' 'Con2' 'Con3' 'Con4' 'FensterTitel
  2104. Konfigliste.2 = ProgrammTypName' 'Icon
  2105. Konfigliste.3 = device' 'Pubscreen' 'HilfeStartNr
  2106. Konfigliste.4 = Schrift.ta_name' 'Schrift.ta_ysize' 'Schrift.ta_style
  2107. Konfigliste.5 = TextEdPfad' 'TextEdName
  2108. Konfigliste.6 = HexEdPfad' 'HexEdName
  2109. Konfigliste.7 = FarbenFenster
  2110. Konfigliste.8 = FarbeGruppe
  2111.  
  2112. RETURN
  2113.  
  2114.  
  2115. AddWithDrop:
  2116.  
  2117. IF (Auswahl = '0') THEN DO
  2118. CALL TR_EASYREQUEST(app,'Drag and Drop funktioniert nicht in der "Alle" Listauswahl.'CR'Gehe in die dementsprechende Programmauwahl.',_OK,'TREZ_LockProject' C2D(window) 'TAG_END')
  2119. RETURN
  2120. END
  2121.  
  2122. Filepfad = event.trm_data.1
  2123. FileName = FILEPART(Filepfad)
  2124. Con = '0'
  2125. CALL TesteInfo
  2126.  
  2127. IF (Auswahl = '1') THEN PrgStart = '0'
  2128. IF (Auswahl = '2') THEN PrgStart = '1'
  2129. IF (Auswahl = '3') THEN PrgStart = '2'
  2130. IF (Auswahl = '4') THEN PrgStart = '3'
  2131.  
  2132. NeueZeile = Filename'   'Stack'   'Con'   'PrgStart'   'Filepfad' 'Argumente
  2133. NeueZeile = STRIP(NeueZeile)
  2134.  
  2135. CALL TestePrgStart
  2136. CALL InitialListFenster
  2137.  
  2138. IF (Auswahl = '1') THEN DO
  2139. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListNormal')
  2140. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListNormal.0)
  2141. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  2142. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  2143. END
  2144.  
  2145. IF (Auswahl = '2') THEN DO
  2146. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListRexx')
  2147. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListRexx.0)
  2148. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  2149. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  2150. END
  2151.  
  2152. IF (Auswahl = '3') THEN DO
  2153. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListScript')
  2154. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListScript.0)
  2155. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  2156. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  2157. END
  2158.  
  2159. IF (Auswahl = '4') THEN DO
  2160. CALL TR_SETATTRIBUTE(window,1,'TROB_Listview','ListGuide')
  2161. CALL TR_SETATTRIBUTE(window,16,'TRAT_Text',ListGuide.0)
  2162. CALL TR_SETATTRIBUTE(window,17,'TRAT_Text','')
  2163. CALL TR_SETATTRIBUTE(window,1,'TRAT_Value',-1)
  2164. END
  2165.  
  2166. IF (Zeile.0 = '0') THEN DO
  2167. Zeile.0 = '1'
  2168. Zeile.1 = NeueZeile
  2169. MerkEs = 'Ein'
  2170. END
  2171.  
  2172. IF ~(MerkEs = 'Ein') THEN NeuZe = STEMINSERT('Zeile',1,1,NeueZeile)
  2173. IF ~(MerkEs = 'Ein') THEN SortierenZe = QSORT('Zeile',,,'NOCASE',)
  2174. CALL InitZeile
  2175. BenutzerMerker = 'Ein'
  2176. DROP ChangeMerker;Drop PrgStart;Drop Con;DROP Argumente;DROP Filepfad;DROP Filename
  2177. DROP MerkEs
  2178.  
  2179. Sichern = TR_EASYREQUEST(app,'Willst Du diesen Eintrag speichern oder nur benützen ?','_Speichern|_Benützen','TREZ_LockProject' C2D(window) 'TAG_END')
  2180.  
  2181. IF (Sichern = '1') THEN SchreibeNeues = WRITEFILE(Pfad'Programmmanager.txt','Zeile')
  2182.  
  2183. RETURN
  2184.  
  2185.  
  2186. TesteInfo:
  2187.  
  2188. IF ~EXISTS(Filepfad'.info') THEN Stack = '4096'
  2189.  
  2190. IF EXISTS(Filepfad'.info') THEN DO
  2191. Stack = GETSTACK(Filepfad)
  2192.  
  2193. TEintraege = GETTOOLTYPES(Filepfad,'tooltypes')
  2194. ZahlAktiv = '1'
  2195. Argumente = ''
  2196. DO i = 1 TO tooltypes.0
  2197. NichtAktiv = SUBSTR(tooltypes.i,1,1)
  2198. NichtIM = SUBSTR(tooltypes.i,1,2)
  2199. DoNot = UPPER(SUBSTR(tooltypes.i,1,9))
  2200.  
  2201. IF ~(NichtAktiv = '(')&~(NichtAktiv = '»')&~(NichtAktiv = '*')&~(NichtIM = 'IM')&~(DoNot = 'DONOTWAIT') THEN DO
  2202. Eintrag.ZahlAktiv = tooltypes.i
  2203. Argumente = Argumente' 'Eintrag.ZahlAktiv
  2204. ZahlAktiv = ZahlAktiv+1
  2205. END
  2206. END
  2207. END
  2208. IF (Stack = '0') THEN Stack = '4096'
  2209. Argumente = STRIP(Argumente)
  2210. IF (Argumente = 'ARGUMENTE') THEN Argumente = ''
  2211. RETURN
  2212.  
  2213.  
  2214. Farbeinstellung:
  2215.  
  2216. CALL TR_LOCKPROJECT(window)
  2217.  
  2218. Farbe.0 = '12'
  2219. Farbe.1 = 'Fenster-Hintergrund'
  2220. Farbe.2 = 'Requester-Hintergrund'
  2221. Farbe.3 = 'Hintergrund'
  2222. Farbe.4 = 'Farbe der hellen Kanten'
  2223. Farbe.5 = 'Farben der hellen und dunklen Kanten'
  2224. Farbe.6 = 'Farbe der hellen Kanten und Füllfarbe'
  2225. Farbe.7 = 'Farbe der hellen Kanten und Hintergrund'
  2226. Farbe.8 = 'Farbe der dunklen Kanten'
  2227. Farbe.9 = 'Farbe der dunklen Kanten und Füllfarbe'
  2228. Farbe.10 = 'Farbe der dunklen Kanten und Hintergrund'
  2229. Farbe.11 = 'Füllfarbe'
  2230. Farbe.12 = 'Füllfarbe und Hintergrund'
  2231.  
  2232. FarbenFensterAlt = FarbenFenster
  2233. FarbeGruppeAlt = FarbeGruppe
  2234.  
  2235. FarbFenster:
  2236.  
  2237. CALL SucheFarbeGruppe
  2238. CALL SucheFarbeHinten
  2239.  
  2240. windowtags =   WindowID(8),
  2241. WindowPosition('TRWP_CENTERSCREEN') HelpMe FarbenFenster 'TRWI_PropFontAttr' Schrift PubScreenName(Pubscreen) WindowTitle('Farbeinstellfenster'),
  2242. 'HorizGroupAC' 'Space' 'Space' 'VertGroupAC' 'Space' 'Space',
  2243. NamedFrameBox('Vordergrundfarbe') FarbeGruppe,
  2244. 'HorizGroupAC' 'Space' 'Space' 'VertGroupAC' 'Space' 'Space',
  2245. MXGadgetR('Farbe',Gruppenzahl,1) QuickHelp(Satz.68),
  2246. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup',
  2247. 'Space' 'Space' NamedFrameBox('Hintergrundfarbe') FarbeGruppe,
  2248. 'HorizGroupAC' 'Space' 'Space' 'VertGroupAC' 'Space' 'Space',
  2249. MXGadgetR('Farbe',Hintenzahl,2) QuickHelp(Satz.69),
  2250. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup' 'Space' 'Space',
  2251. GroupBox FarbeGruppe,
  2252. 'HorizGroupAC' 'Space' 'Space' 'VertGroupAC' 'Space' 'Space',
  2253. 'HorizGroupAC' Button('_Benützen',3) Button('_Speichern',4) Button('_Abbrechen',5) 'EndGroup',
  2254. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup',
  2255. 'Space' 'Space' 'EndGroup' 'Space' 'Space' 'EndGroup',
  2256. EndProject
  2257.  
  2258. appFa = Defaultapp
  2259.  
  2260. window8 = TR_OPENPROJECT(appFa,windowtags)
  2261.  
  2262. IF window8 ~= '00000000'x THEN DO
  2263. endeFa = 0
  2264.  
  2265. DO WHILE endeFa ~= 1
  2266. CALL TR_WAIT(appFa,'')
  2267. DO WHILE TR_HANDLEMSG(appFa,'eventFa')
  2268.  
  2269. IF eventFa.trm_class = 'TRMS_NEWVALUE' THEN DO
  2270. SELECT
  2271.  
  2272. WHEN eventFa.trm_id = 1 THEN DO
  2273. FarbNr = eventFa.trm_data
  2274. CALL AuswahlFarbeGruppe
  2275. CALL TR_CLOSEPROJECT(window8)
  2276. endeFa = 1
  2277. Signal FarbFenster
  2278. END
  2279.  
  2280. WHEN eventFa.trm_id = 2 THEN DO
  2281. HfarbNr = eventFa.trm_data
  2282. CALL AuswahlFarbeHinten
  2283. CALL TR_CLOSEPROJECT(window8)
  2284. endeFa = 1
  2285. Signal FarbFenster
  2286. END
  2287.  
  2288. OTHERWISE;NOP
  2289. END
  2290. END
  2291. IF eventFa.trm_class = 'TRMS_ACTION' THEN DO
  2292.  
  2293. IF eventFa.trm_id = 3 THEN DO
  2294. CALL TR_UNLOCKPROJECT(window)
  2295. CALL TR_CLOSEPROJECT(window)
  2296. CALL TR_CLOSEPROJECT(window8)
  2297. endeFa = 1
  2298. Signal Hauptfenster
  2299. END
  2300.  
  2301. IF eventFa.trm_id = 4 THEN DO
  2302. EintragFarbe.0 = '2'
  2303. EintragFarbe.1 = FarbenFenster
  2304. EintragFarbe.2 = FarbeGruppe
  2305. SchreibeFarben = WRITELINES(Pfad'PrgManager.config',7,'EintragFarbe','REPLACE')
  2306. CALL TR_UNLOCKPROJECT(window)
  2307. CALL TR_CLOSEPROJECT(window)
  2308. CALL TR_CLOSEPROJECT(window8)
  2309. endeFa = 1
  2310. Signal Hauptfenster
  2311. END
  2312.  
  2313. IF eventFa.trm_id = 5 THEN DO
  2314. FarbenFenster = FarbenFensterAlt
  2315. FarbeGruppe = FarbeGruppeAlt
  2316. endeFa = 1
  2317. END
  2318.  
  2319.  
  2320. END
  2321.  
  2322. IF eventFa.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  2323. FarbenFenster = FarbenFensterAlt
  2324. FarbeGruppe = FarbeGruppeAlt
  2325. endeFa = 1
  2326. END
  2327.  
  2328. END
  2329. END
  2330. CALL TR_CLOSEPROJECT(window8)
  2331. CALL TR_UNLOCKPROJECT(window)
  2332. END
  2333.  
  2334. RETURN
  2335.  
  2336. AuswahlFarbeGruppe:
  2337.  
  2338. IF (FarbNr = '0') THEN FarbeGruppe = 'TRAT_Backfill TRBF_WINDOWBACK'
  2339. IF (FarbNr = '1') THEN FarbeGruppe = 'TRAT_Backfill TRBF_REQUESTERBACK'
  2340. IF (FarbNr = '2') THEN FarbeGruppe = 'TRAT_Backfill TRBF_NONE'
  2341. IF (FarbNr = '3') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHINE'
  2342. IF (FarbNr = '4') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_SHADOW'
  2343. IF (FarbNr = '5') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_FILL'
  2344. IF (FarbNr = '6') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_BACKGROUND'
  2345. IF (FarbNr = '7') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW'
  2346. IF (FarbNr = '8') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW_FILL'
  2347. IF (FarbNr = '9') THEN FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW_BACKGROUND'
  2348. IF (FarbNr = '10') THEN FarbeGruppe = 'TRAT_Backfill TRBF_FILL'
  2349. IF (FarbNr = '11') THEN FarbeGruppe = 'TRAT_Backfill TRBF_FILL_BACKGROUND'
  2350.  
  2351. RETURN
  2352.  
  2353. SucheFarbeGruppe:
  2354. IF FarbeGruppe = 'TRAT_Backfill TRBF_WINDOWBACK' THEN Gruppenzahl = '0'
  2355. IF FarbeGruppe = 'TRAT_Backfill TRBF_REQUESTERBACK' THEN Gruppenzahl = '1'
  2356. IF FarbeGruppe = 'TRAT_Backfill TRBF_NONE' THEN Gruppenzahl = '2'
  2357. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHINE' THEN Gruppenzahl = '3'
  2358. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_SHADOW' THEN Gruppenzahl = '4'
  2359. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_FILL' THEN Gruppenzahl = '5'
  2360. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHINE_BACKGROUND' THEN Gruppenzahl = '6'
  2361. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW' THEN Gruppenzahl = '7'
  2362. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW_FILL' THEN Gruppenzahl = '8'
  2363. IF FarbeGruppe = 'TRAT_Backfill TRBF_SHADOW_BACKGROUND' THEN Gruppenzahl = '9'
  2364. IF FarbeGruppe = 'TRAT_Backfill TRBF_FILL' THEN Gruppenzahl = '10'
  2365. IF FarbeGruppe = 'TRAT_Backfill TRBF_FILL_BACKGROUND' THEN Gruppenzahl = '11'
  2366. RETURN
  2367.  
  2368. AuswahlFarbeHinten:
  2369.  
  2370. IF (HfarbNr = '0') THEN FarbenFenster = 'TRWI_Backfill TRBF_WINDOWBACK'
  2371. IF (HfarbNr = '1') THEN FarbenFenster = 'TRWI_Backfill TRBF_REQUESTERBACK'
  2372. IF (HfarbNr = '2') THEN FarbenFenster = 'TRWI_Backfill TRBF_NONE'
  2373. IF (HfarbNr = '3') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHINE'
  2374. IF (HfarbNr = '4') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHINE_SHADOW'
  2375. IF (HfarbNr = '5') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHINE_FILL'
  2376. IF (HfarbNr = '6') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHINE_BACKGROUND'
  2377. IF (HfarbNr = '7') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHADOW'
  2378. IF (HfarbNr = '8') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHADOW_FILL'
  2379. IF (HfarbNr = '9') THEN FarbenFenster = 'TRWI_Backfill TRBF_SHADOW_BACKGROUND'
  2380. IF (HfarbNr = '10') THEN FarbenFenster = 'TRWI_Backfill TRBF_FILL'
  2381. IF (HfarbNr = '11') THEN FarbenFenster = 'TRWI_Backfill TRBF_FILL_BACKGROUND'
  2382.  
  2383. RETURN
  2384.  
  2385. SucheFarbeHinten:
  2386. IF FarbenFenster = 'TRWI_Backfill TRBF_WINDOWBACK' THEN Hintenzahl = '0'
  2387. IF FarbenFenster = 'TRWI_Backfill TRBF_REQUESTERBACK' THEN Hintenzahl = '1'
  2388. IF FarbenFenster = 'TRWI_Backfill TRBF_NONE' THEN Hintenzahl = '2'
  2389. IF FarbenFenster = 'TRWI_Backfill TRBF_SHINE' THEN Hintenzahl = '3'
  2390. IF FarbenFenster = 'TRWI_Backfill TRBF_SHINE_SHADOW' THEN Hintenzahl = '4'
  2391. IF FarbenFenster = 'TRWI_Backfill TRBF_SHINE_FILL' THEN Hintenzahl = '5'
  2392. IF FarbenFenster = 'TRWI_Backfill TRBF_SHINE_BACKGROUND' THEN Hintenzahl = '6'
  2393. IF FarbenFenster = 'TRWI_Backfill TRBF_SHADOW' THEN Hintenzahl = '7'
  2394. IF FarbenFenster = 'TRWI_Backfill TRBF_SHADOW_FILL' THEN Hintenzahl = '8'
  2395. IF FarbenFenster = 'TRWI_Backfill TRBF_SHADOW_BACKGROUND' THEN Hintenzahl = '9'
  2396. IF FarbenFenster = 'TRWI_Backfill TRBF_FILL' THEN Hintenzahl = '10'
  2397. IF FarbenFenster = 'TRWI_Backfill TRBF_FILL_BACKGROUND' THEN Hintenzahl = '11'
  2398. RETURN
  2399.  
  2400. failure:
  2401. break_c:
  2402. halt:
  2403. ioerr:
  2404. syntax:
  2405. error:
  2406.  
  2407. SAY '+++ Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)
  2408. SAY SOURCELINE(sigl)
  2409. IF app ~= '00000000'x THEN CALL TR_DELETEAPP(app)
  2410. EXIT(10)
  2411.  
  2412.